From d2ab448a06d3d862388468e63797c420b99408a1 Mon Sep 17 00:00:00 2001 From: Michael Parsons Date: Thu, 11 Mar 2021 10:49:28 -0800 Subject: [PATCH] fix(schema): Cloudformation Updates --- .../acmpca/aws-acmpca-certificate.go | 10 + .../aws-acmpca-certificate_apipassthrough.go | 40 + ...cmpca-certificate_certificatepolicylist.go | 35 + .../aws-acmpca-certificate_edipartyname.go | 40 + ...aws-acmpca-certificate_extendedkeyusage.go | 40 + ...acmpca-certificate_extendedkeyusagelist.go | 35 + .../aws-acmpca-certificate_extensions.go | 50 + .../aws-acmpca-certificate_generalname.go | 70 + .../aws-acmpca-certificate_generalnamelist.go | 35 + .../acmpca/aws-acmpca-certificate_keyusage.go | 75 + .../aws-acmpca-certificate_othername.go | 40 + ...ws-acmpca-certificate_policyinformation.go | 40 + ...-acmpca-certificate_policyqualifierinfo.go | 40 + ...pca-certificate_policyqualifierinfolist.go | 35 + .../aws-acmpca-certificate_qualifier.go | 35 + .../acmpca/aws-acmpca-certificate_subject.go | 100 + .../acmpca/aws-acmpca-certificate_validity.go | 2 +- .../acmpca/aws-acmpca-certificateauthority.go | 5 + ...-certificateauthority_accessdescription.go | 40 + ...cmpca-certificateauthority_accessmethod.go | 40 + ...mpca-certificateauthority_csrextensions.go | 40 + ...cmpca-certificateauthority_edipartyname.go | 40 + ...acmpca-certificateauthority_generalname.go | 70 + ...ws-acmpca-certificateauthority_keyusage.go | 75 + ...s-acmpca-certificateauthority_othername.go | 40 + ...icateauthority_subjectinformationaccess.go | 35 + cloudformation/all.go | 8865 +- .../amazonmq/aws-amazonmq-configuration.go | 5 + cloudformation/amplify/aws-amplify-app.go | 5 + .../aws-apigatewayv2-integration.go | 5 + ...gatewayv2-integration_responseparameter.go | 40 + ...wayv2-integration_responseparameterlist.go | 35 + .../apigatewayv2/aws-apigatewayv2-stage.go | 5 + ...e_salesforceconnectorprofilecredentials.go | 5 + ...low-flow_destinationconnectorproperties.go | 5 + .../aws-appflow-flow_idfieldnameslist.go | 35 + .../aws-appflow-flow_incrementalpullconfig.go | 35 + ...ow-flow_salesforcedestinationproperties.go | 10 + .../aws-appflow-flow_sourceflowconfig.go | 5 + ...flow-flow_upsolverdestinationproperties.go | 45 + ...pflow-flow_upsolvers3outputformatconfig.go | 45 + ...sights-application_configurationdetails.go | 5 + ...ights-application_jmxprometheusexporter.go | 45 + .../appmesh/aws-appmesh-gatewayroute.go | 2 +- cloudformation/appmesh/aws-appmesh-mesh.go | 2 +- cloudformation/appmesh/aws-appmesh-route.go | 2 +- .../appmesh/aws-appmesh-virtualgateway.go | 2 +- ...lgateway_subjectalternativenamematchers.go | 35 + ...-virtualgateway_subjectalternativenames.go | 35 + ...algateway_virtualgatewayclientpolicytls.go | 5 + ...eway_virtualgatewayclienttlscertificate.go | 40 + ...ualgateway_virtualgatewayconnectionpool.go | 45 + ...ateway_virtualgatewaygrpcconnectionpool.go | 35 + ...teway_virtualgatewayhttp2connectionpool.go | 35 + ...ateway_virtualgatewayhttpconnectionpool.go | 40 + ...h-virtualgateway_virtualgatewaylistener.go | 5 + ...irtualgateway_virtualgatewaylistenertls.go | 5 + ...ay_virtualgatewaylistenertlscertificate.go | 5 + ...virtualgatewaylistenertlssdscertificate.go | 35 + ...tualgatewaylistenertlsvalidationcontext.go | 40 + ...atewaylistenertlsvalidationcontexttrust.go | 40 + ...eway_virtualgatewaytlsvalidationcontext.go | 5 + ...tualgatewaytlsvalidationcontextsdstrust.go | 35 + ...virtualgatewaytlsvalidationcontexttrust.go | 5 + .../appmesh/aws-appmesh-virtualnode.go | 2 +- ...aws-appmesh-virtualnode_clientpolicytls.go | 5 + ...ppmesh-virtualnode_clienttlscertificate.go | 40 + .../aws-appmesh-virtualnode_listener.go | 10 + .../aws-appmesh-virtualnode_listenertls.go | 5 + ...mesh-virtualnode_listenertlscertificate.go | 5 + ...h-virtualnode_listenertlssdscertificate.go | 35 + ...irtualnode_listenertlsvalidationcontext.go | 40 + ...lnode_listenertlsvalidationcontexttrust.go | 40 + ...ws-appmesh-virtualnode_outlierdetection.go | 50 + ...tualnode_subjectalternativenamematchers.go | 35 + ...esh-virtualnode_subjectalternativenames.go | 35 + ...ppmesh-virtualnode_tlsvalidationcontext.go | 5 + ...irtualnode_tlsvalidationcontextsdstrust.go | 35 + ...h-virtualnode_tlsvalidationcontexttrust.go | 5 + ...h-virtualnode_virtualnodeconnectionpool.go | 50 + ...rtualnode_virtualnodegrpcconnectionpool.go | 35 + ...tualnode_virtualnodehttp2connectionpool.go | 35 + ...rtualnode_virtualnodehttpconnectionpool.go | 40 + ...irtualnode_virtualnodetcpconnectionpool.go | 35 + .../appmesh/aws-appmesh-virtualrouter.go | 2 +- .../athena/aws-athena-datacatalog.go | 3 +- cloudformation/athena/aws-athena-workgroup.go | 3 +- .../aws-athena-workgroup_engineversion.go | 40 + ...athena-workgroup_workgroupconfiguration.go | 5 + ...workgroup_workgroupconfigurationupdates.go | 5 + .../aws-auditmanager-assessment.go | 147 + ...assessment_assessmentreportsdestination.go | 40 + .../aws-auditmanager-assessment_awsaccount.go | 45 + .../aws-auditmanager-assessment_awsservice.go | 35 + .../aws-auditmanager-assessment_delegation.go | 85 + .../aws-auditmanager-assessment_role.go | 40 + .../aws-auditmanager-assessment_scope.go | 40 + .../aws-autoscaling-launchconfiguration.go | 2 +- ...ing-launchconfiguration_metadataoptions.go | 45 + .../backup/aws-backup-backupvault.go | 2 +- ...tch-computeenvironment_computeresources.go | 13 +- ...mputeenvironment_ec2configurationobject.go | 40 + .../batch/aws-batch-jobdefinition.go | 10 + ...batch-jobdefinition_containerproperties.go | 10 + .../aws-batch-jobdefinition_evaluateonexit.go | 50 + ...definition_fargateplatformconfiguration.go | 35 + ...atch-jobdefinition_networkconfiguration.go | 35 + .../aws-batch-jobdefinition_retrystrategy.go | 5 + .../cassandra/aws-cassandra-keyspace.go | 6 + .../cassandra/aws-cassandra-table.go | 11 + .../cloud9/aws-cloud9-environmentec2.go | 5 + .../aws-cloudformation-customresource.go | 1 + ...aws-cloudformation-moduledefaultversion.go | 116 + .../aws-cloudformation-moduleversion.go | 111 + ...s-cloudformation-resourcedefaultversion.go | 116 + .../aws-cloudformation-resourceversion.go | 121 + ...formation-resourceversion_loggingconfig.go | 40 + .../aws-cloudformation-stackset.go | 4 +- ...s-cloudfront-distribution_cachebehavior.go | 5 + ...front-distribution_defaultcachebehavior.go | 5 + .../cloudfront/aws-cloudfront-keygroup.go | 106 + .../aws-cloudfront-keygroup_keygroupconfig.go | 45 + .../cloudfront/aws-cloudfront-publickey.go | 106 + ...ws-cloudfront-publickey_publickeyconfig.go | 50 + .../cloudwatch/aws-cloudwatch-metricstream.go | 137 + ...udwatch-metricstream_metricstreamfilter.go | 35 + .../codeartifact/aws-codeartifact-domain.go | 11 + .../aws-codeartifact-repository.go | 16 + .../codebuild/aws-codebuild-project.go | 5 + ...ebuild-reportgroup_s3reportexportconfig.go | 5 + ...-codegurureviewer-repositoryassociation.go | 6 + .../codestar/aws-codestar-githubrepository.go | 7 +- .../aws-cognito-userpool_customemailsender.go | 40 + .../aws-cognito-userpool_customsmssender.go | 40 + .../aws-cognito-userpool_lambdaconfig.go | 15 + ...o-userpoolclient_analyticsconfiguration.go | 5 + .../config/aws-config-storedquery.go | 122 + .../databrew/aws-databrew-dataset.go | 127 + cloudformation/databrew/aws-databrew-job.go | 182 + .../aws-databrew-job_csvoutputoptions.go | 35 + .../databrew/aws-databrew-job_output.go | 60 + .../aws-databrew-job_outputformatoptions.go | 35 + .../databrew/aws-databrew-job_s3location.go | 40 + .../databrew/aws-databrew-project.go | 132 + .../databrew/aws-databrew-recipe.go | 122 + .../databrew/aws-databrew-recipe_action.go | 40 + ...aws-databrew-recipe_conditionexpression.go | 45 + ...abrew-recipe_datacataloginputdefinition.go | 50 + .../aws-databrew-recipe_recipeparameters.go | 535 + .../aws-databrew-recipe_recipestep.go | 40 + .../aws-databrew-recipe_s3location.go | 40 + .../aws-databrew-recipe_secondaryinput.go | 40 + .../databrew/aws-databrew-schedule.go | 122 + cloudformation/datasync/aws-datasync-agent.go | 132 + .../datasync/aws-datasync-locationefs.go | 122 + .../aws-datasync-locationefs_ec2config.go | 40 + .../aws-datasync-locationfsxwindows.go | 137 + .../datasync/aws-datasync-locationnfs.go | 127 + .../aws-datasync-locationnfs_mountoptions.go | 35 + .../aws-datasync-locationnfs_onpremconfig.go | 35 + .../aws-datasync-locationobjectstorage.go | 147 + .../datasync/aws-datasync-locations3.go | 127 + .../aws-datasync-locations3_s3config.go | 35 + .../datasync/aws-datasync-locationsmb.go | 142 + .../aws-datasync-locationsmb_mountoptions.go | 35 + cloudformation/datasync/aws-datasync-task.go | 142 + .../datasync/aws-datasync-task_filterrule.go | 40 + .../datasync/aws-datasync-task_options.go | 95 + .../aws-datasync-task_taskschedule.go | 35 + .../aws-detective-memberinvitation.go | 5 + .../aws-devopsguru-notificationchannel.go | 106 + ...cationchannel_notificationchannelconfig.go | 35 + ...ru-notificationchannel_snschannelconfig.go | 35 + .../aws-devopsguru-resourcecollection.go | 106 + ...llection_cloudformationcollectionfilter.go | 35 + ...urcecollection_resourcecollectionfilter.go | 35 + cloudformation/dlm/aws-dlm-lifecyclepolicy.go | 6 + .../dlm/aws-dlm-lifecyclepolicy_action.go | 40 + .../dlm/aws-dlm-lifecyclepolicy_createrule.go | 5 + ...m-lifecyclepolicy_crossregioncopyaction.go | 45 + ...dlm-lifecyclepolicy_crossregioncopyrule.go | 7 +- ...lifecyclepolicy_encryptionconfiguration.go | 40 + ...aws-dlm-lifecyclepolicy_eventparameters.go | 45 + .../aws-dlm-lifecyclepolicy_eventsource.go | 40 + .../aws-dlm-lifecyclepolicy_policydetails.go | 21 +- .../dlm/aws-dlm-lifecyclepolicy_schedule.go | 5 + .../dlm/aws-dlm-lifecyclepolicy_sharerule.go | 45 + cloudformation/dms/aws-dms-endpoint.go | 40 + .../dms/aws-dms-endpoint_docdbsettings.go | 40 + .../dms/aws-dms-endpoint_ibmdb2settings.go | 40 + ...dms-endpoint_microsoftsqlserversettings.go | 40 + .../dms/aws-dms-endpoint_mongodbsettings.go | 10 + .../dms/aws-dms-endpoint_mysqlsettings.go | 40 + .../dms/aws-dms-endpoint_oraclesettings.go | 50 + .../aws-dms-endpoint_postgresqlsettings.go | 40 + .../dms/aws-dms-endpoint_redshiftsettings.go | 40 + .../dms/aws-dms-endpoint_sybasesettings.go | 40 + cloudformation/dynamodb/aws-dynamodb-table.go | 5 + ...namodb-table_kinesisstreamspecification.go | 35 + cloudformation/ec2/aws-ec2-carriergateway.go | 3 +- .../ec2/aws-ec2-clientvpnendpoint.go | 5 + ...-clientvpnendpoint_clientconnectoptions.go | 40 + cloudformation/ec2/aws-ec2-instance.go | 5 + .../ec2/aws-ec2-instance_enclaveoptions.go | 35 + ...aunchtemplate_capacityreservationtarget.go | 5 + .../ec2/aws-ec2-launchtemplate_ebs.go | 5 + .../aws-ec2-launchtemplate_enclaveoptions.go | 35 + ...s-ec2-launchtemplate_launchtemplatedata.go | 5 + ...aws-ec2-launchtemplate_networkinterface.go | 10 + ...c2-localgatewayroutetablevpcassociation.go | 3 +- .../ec2/aws-ec2-networkinsightsanalysis.go | 117 + ...tworkinsightsanalysis_alternatepathhint.go | 40 + ...networkinsightsanalysis_analysisaclrule.go | 60 + ...tworkinsightsanalysis_analysiscomponent.go | 40 + ...tsanalysis_analysisloadbalancerlistener.go | 40 + ...ghtsanalysis_analysisloadbalancertarget.go | 50 + ...rkinsightsanalysis_analysispacketheader.go | 55 + ...nsightsanalysis_analysisroutetableroute.go | 80 + ...ightsanalysis_analysissecuritygrouprule.go | 60 + ...ec2-networkinsightsanalysis_explanation.go | 255 + ...2-networkinsightsanalysis_pathcomponent.go | 85 + ...s-ec2-networkinsightsanalysis_portrange.go | 40 + .../ec2/aws-ec2-networkinsightspath.go | 137 + ...s-ec2-spotfleet_launchtemplateoverrides.go | 5 + ...aws-ec2-spotfleet_spotcapacityrebalance.go | 35 + ...c2-spotfleet_spotfleetrequestconfigdata.go | 30 + ...ec2-spotfleet_spotmaintenancestrategies.go | 35 + .../ec2/aws-ec2-transitgatewayconnect.go | 117 + ...wayconnect_transitgatewayconnectoptions.go | 35 + .../aws-ec2-transitgatewaymulticastdomain.go | 117 + ...ransitgatewaymulticastdomainassociation.go | 116 + ...-ec2-transitgatewaymulticastgroupmember.go | 116 + ...-ec2-transitgatewaymulticastgroupsource.go | 116 + cloudformation/ec2/aws-ec2-volume.go | 5 + .../ec2/aws-ec2-vpcendpointservice.go | 5 + .../ecr/aws-ecr-publicrepository.go | 122 + cloudformation/ecr/aws-ecr-registrypolicy.go | 106 + .../ecr/aws-ecr-replicationconfiguration.go | 106 + ...nconfiguration_replicationconfiguration.go | 35 + ...ionconfiguration_replicationdestination.go | 40 + ...eplicationconfiguration_replicationrule.go | 35 + ...ws-ecs-service_deploymentcircuitbreaker.go | 40 + ...aws-ecs-service_deploymentconfiguration.go | 5 + cloudformation/eks/aws-eks-addon.go | 132 + cloudformation/eks/aws-eks-nodegroup.go | 5 + .../aws-elasticache-globalreplicationgroup.go | 146 + ...ationgroup_globalreplicationgroupmember.go | 45 + ...lreplicationgroup_regionalconfiguration.go | 45 + ...eplicationgroup_reshardingconfiguration.go | 40 + .../aws-elasticache-replicationgroup.go | 5 + .../elasticache/aws-elasticache-user.go | 131 + .../elasticache/aws-elasticache-usergroup.go | 116 + ...-elasticloadbalancingv2-listener_action.go | 18 +- ...ngv2-listener_authenticatecognitoconfig.go | 2 +- ...ncingv2-listener_authenticateoidcconfig.go | 2 +- ...ticloadbalancingv2-listener_certificate.go | 4 +- ...sticloadbalancingv2-listenerrule_action.go | 18 +- ...-listenerrule_authenticatecognitoconfig.go | 2 +- ...gv2-listenerrule_authenticateoidcconfig.go | 7 +- ...dbalancingv2-listenerrule_rulecondition.go | 18 +- .../aws-elasticloadbalancingv2-targetgroup.go | 5 + ...sticloadbalancingv2-targetgroup_matcher.go | 5 + ...sticsearch-domain_domainendpointoptions.go | 15 + cloudformation/emr/aws-emr-studio.go | 157 + .../emr/aws-emr-studiosessionmapping.go | 121 + .../aws-emrcontainers-virtualcluster.go | 117 + ...containers-virtualcluster_containerinfo.go | 35 + ...ainers-virtualcluster_containerprovider.go | 45 + ...ws-emrcontainers-virtualcluster_eksinfo.go | 35 + .../events/aws-events-apidestination.go | 131 + cloudformation/events/aws-events-archive.go | 126 + .../events/aws-events-connection.go | 121 + .../events/aws-events-eventbuspolicy.go | 9 +- ...aws-fsx-filesystem_windowsconfiguration.go | 9 +- .../gamelift/aws-gamelift-gameservergroup.go | 7 +- .../aws-glue-connection_connectioninput.go | 2 +- .../glue/aws-glue-crawler_s3target.go | 5 + .../aws-glue-database_databaseidentifier.go | 40 + .../glue/aws-glue-database_databaseinput.go | 5 + cloudformation/glue/aws-glue-mltransform.go | 5 + ...s-glue-mltransform_mluserdataencryption.go | 40 + ...ws-glue-mltransform_transformencryption.go | 40 + .../glue/aws-glue-partition_schemaid.go | 45 + .../aws-glue-partition_schemareference.go | 45 + .../aws-glue-partition_storagedescriptor.go | 5 + cloudformation/glue/aws-glue-registry.go | 117 + cloudformation/glue/aws-glue-schema.go | 142 + .../glue/aws-glue-schema_registry.go | 40 + .../glue/aws-glue-schema_schemaversion.go | 40 + cloudformation/glue/aws-glue-schemaversion.go | 111 + .../glue/aws-glue-schemaversion_schema.go | 45 + .../glue/aws-glue-schemaversionmetadata.go | 116 + .../glue/aws-glue-table_schemaid.go | 45 + .../glue/aws-glue-table_schemareference.go | 45 + .../glue/aws-glue-table_storagedescriptor.go | 5 + .../glue/aws-glue-table_tableidentifier.go | 45 + .../glue/aws-glue-table_tableinput.go | 5 + .../aws-greengrassv2-componentversion.go | 116 + ...tversion_componentdependencyrequirement.go | 40 + ...ssv2-componentversion_componentplatform.go | 40 + ...-componentversion_lambdacontainerparams.go | 50 + ...ssv2-componentversion_lambdadevicemount.go | 45 + ...ssv2-componentversion_lambdaeventsource.go | 40 + ...ponentversion_lambdaexecutionparameters.go | 85 + ...onentversion_lambdafunctionrecipesource.go | 60 + ...mponentversion_lambdalinuxprocessparams.go | 40 + ...ssv2-componentversion_lambdavolumemount.go | 50 + cloudformation/iam/aws-iam-oidcprovider.go | 122 + cloudformation/iam/aws-iam-samlprovider.go | 117 + .../iam/aws-iam-servercertificate.go | 132 + .../iam/aws-iam-virtualmfadevice.go | 122 + .../aws-imagebuilder-containerrecipe.go | 171 + ...-containerrecipe_componentconfiguration.go | 35 + ...ntainerrecipe_targetcontainerrepository.go | 40 + ...-distributionconfiguration_distribution.go | 5 + .../imagebuilder/aws-imagebuilder-image.go | 7 +- .../aws-imagebuilder-imagepipeline.go | 7 +- .../iot/aws-iot-accountauditconfiguration.go | 121 + ...itconfiguration_auditcheckconfiguration.go | 35 + ...tconfiguration_auditcheckconfigurations.go | 100 + ...itconfiguration_auditnotificationtarget.go | 45 + ...n_auditnotificationtargetconfigurations.go | 35 + cloudformation/iot/aws-iot-authorizer.go | 5 +- cloudformation/iot/aws-iot-custommetric.go | 122 + cloudformation/iot/aws-iot-dimension.go | 122 + .../iot/aws-iot-domainconfiguration.go | 142 + ...ot-domainconfiguration_authorizerconfig.go | 40 + ...nconfiguration_servercertificatesummary.go | 45 + .../iot/aws-iot-mitigationaction.go | 122 + .../aws-iot-mitigationaction_actionparams.go | 60 + ...ationaction_addthingstothinggroupparams.go | 40 + ...mitigationaction_enableiotloggingparams.go | 40 + ...igationaction_publishfindingtosnsparams.go | 35 + ...ction_replacedefaultpolicyversionparams.go | 35 + ...igationaction_updatecacertificateparams.go | 35 + ...ionaction_updatedevicecertificateparams.go | 35 + .../iot/aws-iot-provisioningtemplate.go | 3 +- cloudformation/iot/aws-iot-scheduledaudit.go | 132 + cloudformation/iot/aws-iot-securityprofile.go | 137 + .../aws-iot-securityprofile_alerttarget.go | 40 + .../iot/aws-iot-securityprofile_behavior.go | 55 + ...ws-iot-securityprofile_behaviorcriteria.go | 65 + ...yprofile_machinelearningdetectionconfig.go | 35 + ...aws-iot-securityprofile_metricdimension.go | 40 + .../aws-iot-securityprofile_metrictoretain.go | 40 + .../aws-iot-securityprofile_metricvalue.go | 60 + ...ot-securityprofile_statisticalthreshold.go | 35 + .../iot/aws-iot-topicruledestination.go | 116 + ...ledestination_httpurldestinationsummary.go | 35 + ...uledestination_vpcdestinationproperties.go | 50 + .../iotanalytics/aws-iotanalytics-dataset.go | 5 + ...set_deltatimesessionwindowconfiguration.go | 35 + .../aws-iotanalytics-dataset_latedatarule.go | 40 + ...ytics-dataset_latedataruleconfiguration.go | 35 + .../aws-iotanalytics-datastore.go | 5 + .../aws-iotanalytics-datastore_column.go | 40 + ...ytics-datastore_fileformatconfiguration.go | 40 + ...otanalytics-datastore_jsonconfiguration.go | 30 + ...nalytics-datastore_parquetconfiguration.go | 35 + ...iotanalytics-datastore_schemadefinition.go | 35 + .../aws-iotsitewise-accesspolicy.go | 116 + ...ewise-accesspolicy_accesspolicyidentity.go | 45 + ...ewise-accesspolicy_accesspolicyresource.go | 40 + .../aws-iotsitewise-accesspolicy_iamrole.go | 35 + .../aws-iotsitewise-accesspolicy_iamuser.go | 35 + .../aws-iotsitewise-accesspolicy_portal.go | 35 + .../aws-iotsitewise-accesspolicy_project.go | 35 + .../aws-iotsitewise-accesspolicy_user.go | 35 + .../iotsitewise/aws-iotsitewise-assetmodel.go | 5 + ...ise-assetmodel_assetmodelcompositemodel.go | 50 + ...tsitewise-assetmodel_assetmodelproperty.go | 5 + .../iotsitewise/aws-iotsitewise-dashboard.go | 127 + .../iotsitewise/aws-iotsitewise-portal.go | 132 + .../iotsitewise/aws-iotsitewise-project.go | 122 + .../aws-iotwireless-destination.go | 132 + .../aws-iotwireless-deviceprofile.go | 117 + ...less-deviceprofile_lorawandeviceprofile.go | 100 + .../aws-iotwireless-serviceprofile.go | 117 + ...ss-serviceprofile_lorawanserviceprofile.go | 125 + .../aws-iotwireless-wirelessdevice.go | 142 + .../aws-iotwireless-wirelessdevice_abpv10x.go | 40 + .../aws-iotwireless-wirelessdevice_abpv11.go | 40 + ...otwireless-wirelessdevice_lorawandevice.go | 65 + ...aws-iotwireless-wirelessdevice_otaav10x.go | 40 + .../aws-iotwireless-wirelessdevice_otaav11.go | 45 + ...eless-wirelessdevice_sessionkeysabpv10x.go | 40 + ...reless-wirelessdevice_sessionkeysabpv11.go | 50 + .../aws-iotwireless-wirelessgateway.go | 132 + ...wireless-wirelessgateway_lorawangateway.go | 40 + .../kendra/aws-kendra-datasource.go | 7 +- ...ource_confluenceattachmentconfiguration.go | 40 + ...e_confluenceattachmentfieldmappingslist.go | 35 + ...confluenceattachmenttoindexfieldmapping.go | 45 + ...-datasource_confluenceblogconfiguration.go | 35 + ...asource_confluenceblogfieldmappingslist.go | 35 + ...ource_confluenceblogtoindexfieldmapping.go | 45 + ...ndra-datasource_confluenceconfiguration.go | 80 + ...-datasource_confluencepageconfiguration.go | 35 + ...asource_confluencepagefieldmappingslist.go | 35 + ...ource_confluencepagetoindexfieldmapping.go | 45 + ...datasource_confluencespaceconfiguration.go | 55 + ...source_confluencespacefieldmappingslist.go | 35 + ...s-kendra-datasource_confluencespacelist.go | 35 + ...urce_confluencespacetoindexfieldmapping.go | 45 + ...ndra-datasource_datasourceconfiguration.go | 10 + ...-kendra-datasource_excludemimetypeslist.go | 35 + ...ndra-datasource_excludeshareddriveslist.go | 35 + ...ndra-datasource_excludeuseraccountslist.go | 35 + ...dra-datasource_googledriveconfiguration.go | 65 + ...kendra-datasource_onedriveconfiguration.go | 5 + ...ra-datasource_s3datasourceconfiguration.go | 5 + ...ndra-datasource_sharepointconfiguration.go | 5 + cloudformation/kendra/aws-kendra-faq.go | 3 +- cloudformation/kendra/aws-kendra-index.go | 15 +- ...kendra-index_jsontokentypeconfiguration.go | 40 + ...-kendra-index_jwttokentypeconfiguration.go | 65 + ...aws-kendra-index_usertokenconfiguration.go | 40 + cloudformation/kms/aws-kms-key.go | 5 + .../lambda/aws-lambda-codesigningconfig.go | 116 + ...bda-codesigningconfig_allowedpublishers.go | 35 + ...a-codesigningconfig_codesigningpolicies.go | 35 + .../lambda/aws-lambda-eventsourcemapping.go | 22 +- ...aws-lambda-eventsourcemapping_endpoints.go | 35 + ...entsourcemapping_selfmanagedeventsource.go | 35 + cloudformation/lambda/aws-lambda-function.go | 19 +- .../lambda/aws-lambda-function_code.go | 5 + .../lambda/aws-lambda-function_imageconfig.go | 45 + .../aws-licensemanager-grant.go | 131 + .../aws-licensemanager-license.go | 156 + ...ensemanager-license_borrowconfiguration.go | 40 + ...anager-license_consumptionconfiguration.go | 45 + .../aws-licensemanager-license_entitlement.go | 60 + .../aws-licensemanager-license_issuerdata.go | 40 + .../aws-licensemanager-license_metadata.go | 40 + ...anager-license_provisionalconfiguration.go | 35 + ...censemanager-license_validitydateformat.go | 40 + .../aws-lookoutvision-project.go | 106 + .../aws-managedblockchain-node.go | 2 +- .../mediaconnect/aws-mediaconnect-flow.go | 121 + .../aws-mediaconnect-flow_encryption.go | 75 + .../aws-mediaconnect-flow_failoverconfig.go | 40 + .../aws-mediaconnect-flow_source.go | 95 + .../aws-mediaconnect-flowentitlement.go | 136 + ...mediaconnect-flowentitlement_encryption.go | 75 + .../aws-mediaconnect-flowoutput.go | 166 + .../aws-mediaconnect-flowoutput_encryption.go | 50 + ...nnect-flowoutput_vpcinterfaceattachment.go | 35 + .../aws-mediaconnect-flowsource.go | 161 + .../aws-mediaconnect-flowsource_encryption.go | 75 + .../aws-mediaconnect-flowvpcinterface.go | 126 + .../medialive/aws-medialive-channel.go | 10 + ...dialive-channel_ancillarysourcesettings.go | 35 + ...ialive-channel_archivecontainersettings.go | 5 + ...ws-medialive-channel_audiocodecsettings.go | 5 + ...ve-channel_audiosilencefailoversettings.go | 40 + ...-channel_automaticinputfailoversettings.go | 10 + ...dialive-channel_captionselectorsettings.go | 5 + ...medialive-channel_cdiinputspecification.go | 35 + ...aws-medialive-channel_failovercondition.go | 35 + ...alive-channel_failoverconditionsettings.go | 45 + .../aws-medialive-channel_hlsgroupsettings.go | 10 + ...alive-channel_inputlossfailoversettings.go | 35 + ...s-medialive-channel_mpeg2filtersettings.go | 35 + .../aws-medialive-channel_mpeg2settings.go | 110 + .../aws-medialive-channel_rawsettings.go | 30 + ...aws-medialive-channel_rtmpgroupsettings.go | 5 + ...live-channel_videoblackfailoversettings.go | 40 + ...ws-medialive-channel_videocodecsettings.go | 5 + ...aws-medialive-channel_vpcoutputsettings.go | 45 + .../aws-medialive-channel_wavsettings.go | 45 + ...e-packagingconfiguration_cmafencryption.go | 2 +- ...e-packagingconfiguration_dashencryption.go | 2 +- ...ge-packagingconfiguration_hlsencryption.go | 2 +- ...ge-packagingconfiguration_mssencryption.go | 2 +- cloudformation/mwaa/aws-mwaa-environment.go | 191 + ...environment_airflowconfigurationoptions.go | 30 + ...s-mwaa-environment_loggingconfiguration.go | 55 + ...-environment_moduleloggingconfiguration.go | 45 + ...s-mwaa-environment_networkconfiguration.go | 40 + .../mwaa/aws-mwaa-environment_tagmap.go | 30 + .../aws-networkfirewall-firewall.go | 147 + ...-networkfirewall-firewall_subnetmapping.go | 35 + .../aws-networkfirewall-firewallpolicy.go | 122 + ...irewall-firewallpolicy_actiondefinition.go | 35 + ...orkfirewall-firewallpolicy_customaction.go | 40 + ...etworkfirewall-firewallpolicy_dimension.go | 35 + ...kfirewall-firewallpolicy_firewallpolicy.go | 55 + ...wall-firewallpolicy_publishmetricaction.go | 35 + ...rewallpolicy_statefulrulegroupreference.go | 35 + ...ewallpolicy_statelessrulegroupreference.go | 40 + ...ws-networkfirewall-loggingconfiguration.go | 116 + ...ggingconfiguration_logdestinationconfig.go | 45 + ...ggingconfiguration_loggingconfiguration.go | 35 + .../aws-networkfirewall-rulegroup.go | 132 + ...workfirewall-rulegroup_actiondefinition.go | 35 + .../aws-networkfirewall-rulegroup_address.go | 35 + ...-networkfirewall-rulegroup_customaction.go | 40 + ...aws-networkfirewall-rulegroup_dimension.go | 35 + .../aws-networkfirewall-rulegroup_header.go | 60 + .../aws-networkfirewall-rulegroup_ipset.go | 35 + ...tworkfirewall-rulegroup_matchattributes.go | 60 + ...aws-networkfirewall-rulegroup_portrange.go | 40 + .../aws-networkfirewall-rulegroup_portset.go | 35 + ...kfirewall-rulegroup_publishmetricaction.go | 35 + ...etworkfirewall-rulegroup_ruledefinition.go | 40 + ...aws-networkfirewall-rulegroup_rulegroup.go | 40 + ...ws-networkfirewall-rulegroup_ruleoption.go | 40 + ...s-networkfirewall-rulegroup_rulessource.go | 50 + ...tworkfirewall-rulegroup_rulessourcelist.go | 45 + ...networkfirewall-rulegroup_rulevariables.go | 40 + ...-networkfirewall-rulegroup_statefulrule.go | 45 + ...networkfirewall-rulegroup_statelessrule.go | 40 + ...ulegroup_statelessrulesandcustomactions.go | 40 + ...-networkfirewall-rulegroup_tcpflagfield.go | 40 + ...ws-pinpoint-campaign_campaignsmsmessage.go | 15 + .../quicksight/aws-quicksight-analysis.go | 147 + .../aws-quicksight-analysis_analysiserror.go | 40 + ...uicksight-analysis_analysissourceentity.go | 35 + ...cksight-analysis_analysissourcetemplate.go | 40 + ...ws-quicksight-analysis_datasetreference.go | 40 + ...s-quicksight-analysis_datetimeparameter.go | 40 + ...ws-quicksight-analysis_decimalparameter.go | 40 + ...ws-quicksight-analysis_integerparameter.go | 40 + .../aws-quicksight-analysis_parameters.go | 50 + ...-quicksight-analysis_resourcepermission.go | 40 + .../aws-quicksight-analysis_sheet.go | 40 + ...aws-quicksight-analysis_stringparameter.go | 40 + .../quicksight/aws-quicksight-dashboard.go | 152 + ...icksight-dashboard_adhocfilteringoption.go | 35 + ...sight-dashboard_dashboardpublishoptions.go | 45 + ...cksight-dashboard_dashboardsourceentity.go | 35 + ...sight-dashboard_dashboardsourcetemplate.go | 40 + ...s-quicksight-dashboard_datasetreference.go | 40 + ...-quicksight-dashboard_datetimeparameter.go | 40 + ...s-quicksight-dashboard_decimalparameter.go | 40 + ...-quicksight-dashboard_exporttocsvoption.go | 35 + ...s-quicksight-dashboard_integerparameter.go | 40 + .../aws-quicksight-dashboard_parameters.go | 50 + ...quicksight-dashboard_resourcepermission.go | 40 + ...uicksight-dashboard_sheetcontrolsoption.go | 35 + ...ws-quicksight-dashboard_stringparameter.go | 40 + .../quicksight/aws-quicksight-template.go | 137 + ...ws-quicksight-template_datasetreference.go | 40 + ...-quicksight-template_resourcepermission.go | 40 + ...cksight-template_templatesourceanalysis.go | 40 + ...uicksight-template_templatesourceentity.go | 40 + ...cksight-template_templatesourcetemplate.go | 35 + .../quicksight/aws-quicksight-theme.go | 142 + .../aws-quicksight-theme_borderstyle.go | 35 + .../aws-quicksight-theme_datacolorpalette.go | 45 + .../quicksight/aws-quicksight-theme_font.go | 35 + .../aws-quicksight-theme_gutterstyle.go | 35 + .../aws-quicksight-theme_marginstyle.go | 35 + ...aws-quicksight-theme_resourcepermission.go | 40 + .../aws-quicksight-theme_sheetstyle.go | 40 + ...aws-quicksight-theme_themeconfiguration.go | 50 + .../aws-quicksight-theme_tilelayoutstyle.go | 40 + .../aws-quicksight-theme_tilestyle.go | 35 + .../aws-quicksight-theme_typography.go | 35 + .../aws-quicksight-theme_uicolorpalette.go | 110 + cloudformation/rds/aws-rds-globalcluster.go | 131 + cloudformation/route53/aws-route53-dnssec.go | 106 + .../route53/aws-route53-keysigningkey.go | 121 + ...ws-route53resolver-resolverdnssecconfig.go | 106 + cloudformation/s3/aws-s3-accesspoint.go | 15 - cloudformation/s3/aws-s3-bucket.go | 10 + ...-bucket_intelligenttieringconfiguration.go | 55 + .../s3/aws-s3-bucket_ownershipcontrols.go | 35 + .../s3/aws-s3-bucket_ownershipcontrolsrule.go | 35 + .../aws-s3-bucket_serversideencryptionrule.go | 5 + .../aws-s3-bucket_sourceselectioncriteria.go | 5 + cloudformation/s3/aws-s3-bucket_tiering.go | 40 + cloudformation/s3/aws-s3-storagelens.go | 112 + .../s3/aws-s3-storagelens_accountlevel.go | 40 + .../s3/aws-s3-storagelens_activitymetrics.go | 35 + .../s3/aws-s3-storagelens_awsorg.go | 35 + .../s3/aws-s3-storagelens_bucketlevel.go | 40 + .../aws-s3-storagelens_bucketsandregions.go | 40 + .../s3/aws-s3-storagelens_dataexport.go | 35 + .../s3/aws-s3-storagelens_encryption.go | 30 + .../s3/aws-s3-storagelens_prefixlevel.go | 35 + ...3-storagelens_prefixlevelstoragemetrics.go | 40 + .../aws-s3-storagelens_s3bucketdestination.go | 60 + .../aws-s3-storagelens_selectioncriteria.go | 45 + ...s3-storagelens_storagelensconfiguration.go | 70 + .../s3outposts/aws-s3outposts-accesspoint.go | 121 + ...s3outposts-accesspoint_vpcconfiguration.go | 35 + .../s3outposts/aws-s3outposts-bucket.go | 122 + ...s-bucket_abortincompletemultipartupload.go | 35 + ...3outposts-bucket_lifecycleconfiguration.go | 35 + .../s3outposts/aws-s3outposts-bucket_rule.go | 60 + .../s3outposts/aws-s3outposts-bucketpolicy.go | 111 + .../s3outposts/aws-s3outposts-endpoint.go | 116 + ...ws-s3outposts-endpoint_networkinterface.go | 35 + cloudformation/sagemaker/aws-sagemaker-app.go | 132 + .../aws-sagemaker-app_resourcespec.go | 45 + .../sagemaker/aws-sagemaker-appimageconfig.go | 117 + ...gemaker-appimageconfig_filesystemconfig.go | 45 + ...appimageconfig_kernelgatewayimageconfig.go | 40 + ...aws-sagemaker-appimageconfig_kernelspec.go | 40 + .../aws-sagemaker-dataqualityjobdefinition.go | 152 + ...-dataqualityjobdefinition_clusterconfig.go | 50 + ...ualityjobdefinition_constraintsresource.go | 35 + ...bdefinition_dataqualityappspecification.go | 60 + ...jobdefinition_dataqualitybaselineconfig.go | 45 + ...ualityjobdefinition_dataqualityjobinput.go | 35 + ...-dataqualityjobdefinition_endpointinput.go | 50 + ...er-dataqualityjobdefinition_environment.go | 30 + ...taqualityjobdefinition_monitoringoutput.go | 35 + ...ityjobdefinition_monitoringoutputconfig.go | 40 + ...ualityjobdefinition_monitoringresources.go | 35 + ...-dataqualityjobdefinition_networkconfig.go | 45 + ...maker-dataqualityjobdefinition_s3output.go | 45 + ...qualityjobdefinition_statisticsresource.go | 35 + ...aqualityjobdefinition_stoppingcondition.go | 35 + ...aker-dataqualityjobdefinition_vpcconfig.go | 40 + .../sagemaker/aws-sagemaker-device.go | 117 + .../sagemaker/aws-sagemaker-device_device.go | 45 + .../sagemaker/aws-sagemaker-devicefleet.go | 127 + ...-sagemaker-devicefleet_edgeoutputconfig.go | 40 + .../sagemaker/aws-sagemaker-domain.go | 142 + .../aws-sagemaker-domain_customimage.go | 45 + ...gemaker-domain_jupyterserverappsettings.go | 35 + ...gemaker-domain_kernelgatewayappsettings.go | 40 + .../aws-sagemaker-domain_resourcespec.go | 45 + .../aws-sagemaker-domain_sharingsettings.go | 45 + .../aws-sagemaker-domain_usersettings.go | 55 + .../sagemaker/aws-sagemaker-endpoint.go | 5 + .../sagemaker/aws-sagemaker-endpoint_alarm.go | 35 + ...s-sagemaker-endpoint_autorollbackconfig.go | 35 + ...agemaker-endpoint_bluegreenupdatepolicy.go | 45 + .../aws-sagemaker-endpoint_capacitysize.go | 40 + ...aws-sagemaker-endpoint_deploymentconfig.go | 40 + ...sagemaker-endpoint_trafficroutingconfig.go | 45 + .../sagemaker/aws-sagemaker-featuregroup.go | 147 + ...agemaker-featuregroup_featuredefinition.go | 40 + .../sagemaker/aws-sagemaker-image.go | 127 + .../sagemaker/aws-sagemaker-imageversion.go | 111 + .../sagemaker/aws-sagemaker-model.go | 5 + ...aws-sagemaker-model_containerdefinition.go | 5 + ...agemaker-model_inferenceexecutionconfig.go | 35 + .../aws-sagemaker-model_multimodelconfig.go | 35 + .../aws-sagemaker-modelbiasjobdefinition.go | 152 + ...er-modelbiasjobdefinition_clusterconfig.go | 50 + ...elbiasjobdefinition_constraintsresource.go | 35 + ...er-modelbiasjobdefinition_endpointinput.go | 80 + ...aker-modelbiasjobdefinition_environment.go | 30 + ...jobdefinition_modelbiasappspecification.go | 45 + ...asjobdefinition_modelbiasbaselineconfig.go | 40 + ...odelbiasjobdefinition_modelbiasjobinput.go | 40 + ...definition_monitoringgroundtruths3input.go | 35 + ...modelbiasjobdefinition_monitoringoutput.go | 35 + ...iasjobdefinition_monitoringoutputconfig.go | 40 + ...elbiasjobdefinition_monitoringresources.go | 35 + ...er-modelbiasjobdefinition_networkconfig.go | 45 + ...gemaker-modelbiasjobdefinition_s3output.go | 45 + ...odelbiasjobdefinition_stoppingcondition.go | 35 + ...emaker-modelbiasjobdefinition_vpcconfig.go | 40 + ...emaker-modelexplainabilityjobdefinition.go | 152 + ...plainabilityjobdefinition_clusterconfig.go | 50 + ...bilityjobdefinition_constraintsresource.go | 35 + ...plainabilityjobdefinition_endpointinput.go | 65 + ...explainabilityjobdefinition_environment.go | 30 + ...ion_modelexplainabilityappspecification.go | 45 + ...ition_modelexplainabilitybaselineconfig.go | 40 + ...bdefinition_modelexplainabilityjobinput.go | 35 + ...inabilityjobdefinition_monitoringoutput.go | 35 + ...ityjobdefinition_monitoringoutputconfig.go | 40 + ...bilityjobdefinition_monitoringresources.go | 35 + ...plainabilityjobdefinition_networkconfig.go | 45 + ...delexplainabilityjobdefinition_s3output.go | 45 + ...nabilityjobdefinition_stoppingcondition.go | 35 + ...elexplainabilityjobdefinition_vpcconfig.go | 40 + .../aws-sagemaker-modelpackagegroup.go | 122 + ...aws-sagemaker-modelqualityjobdefinition.go | 152 + ...modelqualityjobdefinition_clusterconfig.go | 50 + ...ualityjobdefinition_constraintsresource.go | 35 + ...modelqualityjobdefinition_endpointinput.go | 75 + ...r-modelqualityjobdefinition_environment.go | 30 + ...definition_modelqualityappspecification.go | 65 + ...obdefinition_modelqualitybaselineconfig.go | 40 + ...alityjobdefinition_modelqualityjobinput.go | 40 + ...definition_monitoringgroundtruths3input.go | 35 + ...elqualityjobdefinition_monitoringoutput.go | 35 + ...ityjobdefinition_monitoringoutputconfig.go | 40 + ...ualityjobdefinition_monitoringresources.go | 35 + ...modelqualityjobdefinition_networkconfig.go | 45 + ...aker-modelqualityjobdefinition_s3output.go | 45 + ...lqualityjobdefinition_stoppingcondition.go | 35 + ...ker-modelqualityjobdefinition_vpcconfig.go | 40 + .../aws-sagemaker-monitoringschedule.go | 15 - ...toringschedule_monitoringscheduleconfig.go | 12 +- .../sagemaker/aws-sagemaker-pipeline.go | 132 + .../sagemaker/aws-sagemaker-project.go | 122 + .../sagemaker/aws-sagemaker-userprofile.go | 132 + .../aws-sagemaker-userprofile_customimage.go | 45 + ...er-userprofile_jupyterserverappsettings.go | 35 + ...er-userprofile_kernelgatewayappsettings.go | 40 + .../aws-sagemaker-userprofile_resourcespec.go | 45 + ...s-sagemaker-userprofile_sharingsettings.go | 45 + .../aws-sagemaker-userprofile_usersettings.go | 55 + .../aws-secretsmanager-resourcepolicy.go | 5 + .../aws-secretsmanager-secret.go | 5 + ...aws-secretsmanager-secret_replicaregion.go | 40 + .../aws-servicecatalog-portfolioshare.go | 5 + .../aws-servicecatalog-serviceaction.go | 126 + ...talog-serviceaction_definitionparameter.go | 40 + ...servicecatalog-serviceactionassociation.go | 116 + ...s-servicecatalogappregistry-application.go | 116 + ...ervicecatalogappregistry-attributegroup.go | 121 + ...ogappregistry-attributegroup_attributes.go | 30 + ...ogappregistry-attributegroupassociation.go | 111 + ...ecatalogappregistry-resourceassociation.go | 116 + .../signer/aws-signer-profilepermission.go | 126 + .../signer/aws-signer-signingprofile.go | 117 + ...-signingprofile_signaturevalidityperiod.go | 40 + .../ssm/aws-ssm-maintenancewindowtask.go | 6 +- ...anceaccesscontrolattributeconfiguration.go | 111 + ...uteconfiguration_accesscontrolattribute.go | 40 + ...nfiguration_accesscontrolattributevalue.go | 35 + ...n_accesscontrolattributevaluesourcelist.go | 35 + cloudformation/sso/aws-sso-permissionset.go | 2 +- .../aws-stepfunctions-statemachine.go | 7 +- ...s-stepfunctions-statemachine_definition.go | 30 + .../synthetics/aws-synthetics-canary_code.go | 2 +- .../aws-synthetics-canary_runconfig.go | 9 +- .../transfer/aws-transfer-server.go | 5 + .../aws-transfer-server_endpointdetails.go | 2 +- cloudformation/transfer/aws-transfer-user.go | 5 + .../aws-transfer-user_posixprofile.go | 45 + schema/cloudformation.go | 68956 +++++++++------ schema/cloudformation.schema.json | 68956 +++++++++------ schema/sam.go | 70692 ++++++++++------ schema/sam.schema.json | 70692 ++++++++++------ 734 files changed, 218758 insertions(+), 106175 deletions(-) create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_apipassthrough.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_certificatepolicylist.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_edipartyname.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusage.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusagelist.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_extensions.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_generalname.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_generalnamelist.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_keyusage.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_othername.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_policyinformation.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfo.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfolist.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_qualifier.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificate_subject.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_accessdescription.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_accessmethod.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_csrextensions.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_edipartyname.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_generalname.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_keyusage.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_othername.go create mode 100644 cloudformation/acmpca/aws-acmpca-certificateauthority_subjectinformationaccess.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameter.go create mode 100644 cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameterlist.go create mode 100644 cloudformation/appflow/aws-appflow-flow_idfieldnameslist.go create mode 100644 cloudformation/appflow/aws-appflow-flow_incrementalpullconfig.go create mode 100644 cloudformation/appflow/aws-appflow-flow_upsolverdestinationproperties.go create mode 100644 cloudformation/appflow/aws-appflow-flow_upsolvers3outputformatconfig.go create mode 100644 cloudformation/applicationinsights/aws-applicationinsights-application_jmxprometheusexporter.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenamematchers.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenames.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclienttlscertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayconnectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaygrpcconnectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttp2connectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttpconnectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlssdscertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontext.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontexttrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextsdstrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_clienttlscertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertlssdscertificate.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontext.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontexttrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_outlierdetection.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenamematchers.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenames.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextsdstrust.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodeconnectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodegrpcconnectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttp2connectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttpconnectionpool.go create mode 100644 cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodetcpconnectionpool.go create mode 100644 cloudformation/athena/aws-athena-workgroup_engineversion.go create mode 100644 cloudformation/auditmanager/aws-auditmanager-assessment.go create mode 100644 cloudformation/auditmanager/aws-auditmanager-assessment_assessmentreportsdestination.go create mode 100644 cloudformation/auditmanager/aws-auditmanager-assessment_awsaccount.go create mode 100644 cloudformation/auditmanager/aws-auditmanager-assessment_awsservice.go create mode 100644 cloudformation/auditmanager/aws-auditmanager-assessment_delegation.go create mode 100644 cloudformation/auditmanager/aws-auditmanager-assessment_role.go create mode 100644 cloudformation/auditmanager/aws-auditmanager-assessment_scope.go create mode 100644 cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoptions.go create mode 100644 cloudformation/batch/aws-batch-computeenvironment_ec2configurationobject.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_evaluateonexit.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_fargateplatformconfiguration.go create mode 100644 cloudformation/batch/aws-batch-jobdefinition_networkconfiguration.go create mode 100644 cloudformation/cloudformation/aws-cloudformation-moduledefaultversion.go create mode 100644 cloudformation/cloudformation/aws-cloudformation-moduleversion.go create mode 100644 cloudformation/cloudformation/aws-cloudformation-resourcedefaultversion.go create mode 100644 cloudformation/cloudformation/aws-cloudformation-resourceversion.go create mode 100644 cloudformation/cloudformation/aws-cloudformation-resourceversion_loggingconfig.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-keygroup.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-keygroup_keygroupconfig.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-publickey.go create mode 100644 cloudformation/cloudfront/aws-cloudfront-publickey_publickeyconfig.go create mode 100644 cloudformation/cloudwatch/aws-cloudwatch-metricstream.go create mode 100644 cloudformation/cloudwatch/aws-cloudwatch-metricstream_metricstreamfilter.go create mode 100644 cloudformation/cognito/aws-cognito-userpool_customemailsender.go create mode 100644 cloudformation/cognito/aws-cognito-userpool_customsmssender.go create mode 100644 cloudformation/config/aws-config-storedquery.go create mode 100644 cloudformation/databrew/aws-databrew-dataset.go create mode 100644 cloudformation/databrew/aws-databrew-job.go create mode 100644 cloudformation/databrew/aws-databrew-job_csvoutputoptions.go create mode 100644 cloudformation/databrew/aws-databrew-job_output.go create mode 100644 cloudformation/databrew/aws-databrew-job_outputformatoptions.go create mode 100644 cloudformation/databrew/aws-databrew-job_s3location.go create mode 100644 cloudformation/databrew/aws-databrew-project.go create mode 100644 cloudformation/databrew/aws-databrew-recipe.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_action.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_conditionexpression.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_datacataloginputdefinition.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_recipeparameters.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_recipestep.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_s3location.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_secondaryinput.go create mode 100644 cloudformation/databrew/aws-databrew-schedule.go create mode 100644 cloudformation/datasync/aws-datasync-agent.go create mode 100644 cloudformation/datasync/aws-datasync-locationefs.go create mode 100644 cloudformation/datasync/aws-datasync-locationefs_ec2config.go create mode 100644 cloudformation/datasync/aws-datasync-locationfsxwindows.go create mode 100644 cloudformation/datasync/aws-datasync-locationnfs.go create mode 100644 cloudformation/datasync/aws-datasync-locationnfs_mountoptions.go create mode 100644 cloudformation/datasync/aws-datasync-locationnfs_onpremconfig.go create mode 100644 cloudformation/datasync/aws-datasync-locationobjectstorage.go create mode 100644 cloudformation/datasync/aws-datasync-locations3.go create mode 100644 cloudformation/datasync/aws-datasync-locations3_s3config.go create mode 100644 cloudformation/datasync/aws-datasync-locationsmb.go create mode 100644 cloudformation/datasync/aws-datasync-locationsmb_mountoptions.go create mode 100644 cloudformation/datasync/aws-datasync-task.go create mode 100644 cloudformation/datasync/aws-datasync-task_filterrule.go create mode 100644 cloudformation/datasync/aws-datasync-task_options.go create mode 100644 cloudformation/datasync/aws-datasync-task_taskschedule.go create mode 100644 cloudformation/devopsguru/aws-devopsguru-notificationchannel.go create mode 100644 cloudformation/devopsguru/aws-devopsguru-notificationchannel_notificationchannelconfig.go create mode 100644 cloudformation/devopsguru/aws-devopsguru-notificationchannel_snschannelconfig.go create mode 100644 cloudformation/devopsguru/aws-devopsguru-resourcecollection.go create mode 100644 cloudformation/devopsguru/aws-devopsguru-resourcecollection_cloudformationcollectionfilter.go create mode 100644 cloudformation/devopsguru/aws-devopsguru-resourcecollection_resourcecollectionfilter.go create mode 100644 cloudformation/dlm/aws-dlm-lifecyclepolicy_action.go create mode 100644 cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyaction.go create mode 100644 cloudformation/dlm/aws-dlm-lifecyclepolicy_encryptionconfiguration.go create mode 100644 cloudformation/dlm/aws-dlm-lifecyclepolicy_eventparameters.go create mode 100644 cloudformation/dlm/aws-dlm-lifecyclepolicy_eventsource.go create mode 100644 cloudformation/dlm/aws-dlm-lifecyclepolicy_sharerule.go create mode 100644 cloudformation/dms/aws-dms-endpoint_docdbsettings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_mysqlsettings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_oraclesettings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_redshiftsettings.go create mode 100644 cloudformation/dms/aws-dms-endpoint_sybasesettings.go create mode 100644 cloudformation/dynamodb/aws-dynamodb-table_kinesisstreamspecification.go create mode 100644 cloudformation/ec2/aws-ec2-clientvpnendpoint_clientconnectoptions.go create mode 100644 cloudformation/ec2/aws-ec2-instance_enclaveoptions.go create mode 100644 cloudformation/ec2/aws-ec2-launchtemplate_enclaveoptions.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_alternatepathhint.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisaclrule.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysiscomponent.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancerlistener.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancertarget.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysispacketheader.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisroutetableroute.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysissecuritygrouprule.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightsanalysis_portrange.go create mode 100644 cloudformation/ec2/aws-ec2-networkinsightspath.go create mode 100644 cloudformation/ec2/aws-ec2-spotfleet_spotcapacityrebalance.go create mode 100644 cloudformation/ec2/aws-ec2-spotfleet_spotmaintenancestrategies.go create mode 100644 cloudformation/ec2/aws-ec2-transitgatewayconnect.go create mode 100644 cloudformation/ec2/aws-ec2-transitgatewayconnect_transitgatewayconnectoptions.go create mode 100644 cloudformation/ec2/aws-ec2-transitgatewaymulticastdomain.go create mode 100644 cloudformation/ec2/aws-ec2-transitgatewaymulticastdomainassociation.go create mode 100644 cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupmember.go create mode 100644 cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupsource.go create mode 100644 cloudformation/ecr/aws-ecr-publicrepository.go create mode 100644 cloudformation/ecr/aws-ecr-registrypolicy.go create mode 100644 cloudformation/ecr/aws-ecr-replicationconfiguration.go create mode 100644 cloudformation/ecr/aws-ecr-replicationconfiguration_replicationconfiguration.go create mode 100644 cloudformation/ecr/aws-ecr-replicationconfiguration_replicationdestination.go create mode 100644 cloudformation/ecr/aws-ecr-replicationconfiguration_replicationrule.go create mode 100644 cloudformation/ecs/aws-ecs-service_deploymentcircuitbreaker.go create mode 100644 cloudformation/eks/aws-eks-addon.go create mode 100644 cloudformation/elasticache/aws-elasticache-globalreplicationgroup.go create mode 100644 cloudformation/elasticache/aws-elasticache-globalreplicationgroup_globalreplicationgroupmember.go create mode 100644 cloudformation/elasticache/aws-elasticache-globalreplicationgroup_regionalconfiguration.go create mode 100644 cloudformation/elasticache/aws-elasticache-globalreplicationgroup_reshardingconfiguration.go create mode 100644 cloudformation/elasticache/aws-elasticache-user.go create mode 100644 cloudformation/elasticache/aws-elasticache-usergroup.go create mode 100644 cloudformation/emr/aws-emr-studio.go create mode 100644 cloudformation/emr/aws-emr-studiosessionmapping.go create mode 100644 cloudformation/emrcontainers/aws-emrcontainers-virtualcluster.go create mode 100644 cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_containerinfo.go create mode 100644 cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_containerprovider.go create mode 100644 cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_eksinfo.go create mode 100644 cloudformation/events/aws-events-apidestination.go create mode 100644 cloudformation/events/aws-events-archive.go create mode 100644 cloudformation/events/aws-events-connection.go create mode 100644 cloudformation/glue/aws-glue-database_databaseidentifier.go create mode 100644 cloudformation/glue/aws-glue-mltransform_mluserdataencryption.go create mode 100644 cloudformation/glue/aws-glue-mltransform_transformencryption.go create mode 100644 cloudformation/glue/aws-glue-partition_schemaid.go create mode 100644 cloudformation/glue/aws-glue-partition_schemareference.go create mode 100644 cloudformation/glue/aws-glue-registry.go create mode 100644 cloudformation/glue/aws-glue-schema.go create mode 100644 cloudformation/glue/aws-glue-schema_registry.go create mode 100644 cloudformation/glue/aws-glue-schema_schemaversion.go create mode 100644 cloudformation/glue/aws-glue-schemaversion.go create mode 100644 cloudformation/glue/aws-glue-schemaversion_schema.go create mode 100644 cloudformation/glue/aws-glue-schemaversionmetadata.go create mode 100644 cloudformation/glue/aws-glue-table_schemaid.go create mode 100644 cloudformation/glue/aws-glue-table_schemareference.go create mode 100644 cloudformation/glue/aws-glue-table_tableidentifier.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_componentdependencyrequirement.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_componentplatform.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdacontainerparams.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdadevicemount.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaeventsource.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaexecutionparameters.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdafunctionrecipesource.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdalinuxprocessparams.go create mode 100644 cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdavolumemount.go create mode 100644 cloudformation/iam/aws-iam-oidcprovider.go create mode 100644 cloudformation/iam/aws-iam-samlprovider.go create mode 100644 cloudformation/iam/aws-iam-servercertificate.go create mode 100644 cloudformation/iam/aws-iam-virtualmfadevice.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_componentconfiguration.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_targetcontainerrepository.go create mode 100644 cloudformation/iot/aws-iot-accountauditconfiguration.go create mode 100644 cloudformation/iot/aws-iot-accountauditconfiguration_auditcheckconfiguration.go create mode 100644 cloudformation/iot/aws-iot-accountauditconfiguration_auditcheckconfigurations.go create mode 100644 cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtarget.go create mode 100644 cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtargetconfigurations.go create mode 100644 cloudformation/iot/aws-iot-custommetric.go create mode 100644 cloudformation/iot/aws-iot-dimension.go create mode 100644 cloudformation/iot/aws-iot-domainconfiguration.go create mode 100644 cloudformation/iot/aws-iot-domainconfiguration_authorizerconfig.go create mode 100644 cloudformation/iot/aws-iot-domainconfiguration_servercertificatesummary.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction_actionparams.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction_addthingstothinggroupparams.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction_enableiotloggingparams.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction_publishfindingtosnsparams.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction_replacedefaultpolicyversionparams.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction_updatecacertificateparams.go create mode 100644 cloudformation/iot/aws-iot-mitigationaction_updatedevicecertificateparams.go create mode 100644 cloudformation/iot/aws-iot-scheduledaudit.go create mode 100644 cloudformation/iot/aws-iot-securityprofile.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_alerttarget.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_behavior.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_behaviorcriteria.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_machinelearningdetectionconfig.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_metricdimension.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_metrictoretain.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_metricvalue.go create mode 100644 cloudformation/iot/aws-iot-securityprofile_statisticalthreshold.go create mode 100644 cloudformation/iot/aws-iot-topicruledestination.go create mode 100644 cloudformation/iot/aws-iot-topicruledestination_httpurldestinationsummary.go create mode 100644 cloudformation/iot/aws-iot-topicruledestination_vpcdestinationproperties.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatimesessionwindowconfiguration.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-dataset_latedatarule.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-dataset_latedataruleconfiguration.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-datastore_column.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-datastore_fileformatconfiguration.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-datastore_jsonconfiguration.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-datastore_parquetconfiguration.go create mode 100644 cloudformation/iotanalytics/aws-iotanalytics-datastore_schemadefinition.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyidentity.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyresource.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamrole.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamuser.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_portal.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_project.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_user.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelcompositemodel.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-dashboard.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-portal.go create mode 100644 cloudformation/iotsitewise/aws-iotsitewise-project.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-destination.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-deviceprofile.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-deviceprofile_lorawandeviceprofile.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-serviceprofile.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-serviceprofile_lorawanserviceprofile.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv11.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav11.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv11.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go create mode 100644 cloudformation/iotwireless/aws-iotwireless-wirelessgateway_lorawangateway.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluenceattachmentconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluenceattachmentfieldmappingslist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluenceattachmenttoindexfieldmapping.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluenceblogconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluenceblogfieldmappingslist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluenceblogtoindexfieldmapping.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluenceconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluencepageconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluencepagefieldmappingslist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluencepagetoindexfieldmapping.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluencespaceconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluencespacefieldmappingslist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluencespacelist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_confluencespacetoindexfieldmapping.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_excludemimetypeslist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_excludeshareddriveslist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_excludeuseraccountslist.go create mode 100644 cloudformation/kendra/aws-kendra-datasource_googledriveconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-index_jsontokentypeconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-index_jwttokentypeconfiguration.go create mode 100644 cloudformation/kendra/aws-kendra-index_usertokenconfiguration.go create mode 100644 cloudformation/lambda/aws-lambda-codesigningconfig.go create mode 100644 cloudformation/lambda/aws-lambda-codesigningconfig_allowedpublishers.go create mode 100644 cloudformation/lambda/aws-lambda-codesigningconfig_codesigningpolicies.go create mode 100644 cloudformation/lambda/aws-lambda-eventsourcemapping_endpoints.go create mode 100644 cloudformation/lambda/aws-lambda-eventsourcemapping_selfmanagedeventsource.go create mode 100644 cloudformation/lambda/aws-lambda-function_imageconfig.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-grant.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license_borrowconfiguration.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license_consumptionconfiguration.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license_entitlement.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license_issuerdata.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license_metadata.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license_provisionalconfiguration.go create mode 100644 cloudformation/licensemanager/aws-licensemanager-license_validitydateformat.go create mode 100644 cloudformation/lookoutvision/aws-lookoutvision-project.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flow.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flow_encryption.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flow_failoverconfig.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flow_source.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowentitlement.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowentitlement_encryption.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowoutput.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowoutput_encryption.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowoutput_vpcinterfaceattachment.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowsource.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowsource_encryption.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowvpcinterface.go create mode 100644 cloudformation/medialive/aws-medialive-channel_ancillarysourcesettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_audiosilencefailoversettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_cdiinputspecification.go create mode 100644 cloudformation/medialive/aws-medialive-channel_failovercondition.go create mode 100644 cloudformation/medialive/aws-medialive-channel_failoverconditionsettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_inputlossfailoversettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_mpeg2filtersettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_mpeg2settings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_rawsettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_videoblackfailoversettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_vpcoutputsettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_wavsettings.go create mode 100644 cloudformation/mwaa/aws-mwaa-environment.go create mode 100644 cloudformation/mwaa/aws-mwaa-environment_airflowconfigurationoptions.go create mode 100644 cloudformation/mwaa/aws-mwaa-environment_loggingconfiguration.go create mode 100644 cloudformation/mwaa/aws-mwaa-environment_moduleloggingconfiguration.go create mode 100644 cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go create mode 100644 cloudformation/mwaa/aws-mwaa-environment_tagmap.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewall.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewall_subnetmapping.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_actiondefinition.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_customaction.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_dimension.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_firewallpolicy.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_publishmetricaction.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statefulrulegroupreference.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statelessrulegroupreference.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration_logdestinationconfig.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration_loggingconfiguration.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_actiondefinition.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_address.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_customaction.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_dimension.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_header.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ipset.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_matchattributes.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portrange.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portset.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_publishmetricaction.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruledefinition.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulegroup.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruleoption.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessource.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessourcelist.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulevariables.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statefulrule.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrule.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrulesandcustomactions.go create mode 100644 cloudformation/networkfirewall/aws-networkfirewall-rulegroup_tcpflagfield.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_analysiserror.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_analysissourceentity.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_analysissourcetemplate.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_datasetreference.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_datetimeparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_decimalparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_integerparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_parameters.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_resourcepermission.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_sheet.go create mode 100644 cloudformation/quicksight/aws-quicksight-analysis_stringparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_adhocfilteringoption.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_dashboardpublishoptions.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourceentity.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourcetemplate.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_datasetreference.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_datetimeparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_decimalparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_exporttocsvoption.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_integerparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_parameters.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_resourcepermission.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_sheetcontrolsoption.go create mode 100644 cloudformation/quicksight/aws-quicksight-dashboard_stringparameter.go create mode 100644 cloudformation/quicksight/aws-quicksight-template.go create mode 100644 cloudformation/quicksight/aws-quicksight-template_datasetreference.go create mode 100644 cloudformation/quicksight/aws-quicksight-template_resourcepermission.go create mode 100644 cloudformation/quicksight/aws-quicksight-template_templatesourceanalysis.go create mode 100644 cloudformation/quicksight/aws-quicksight-template_templatesourceentity.go create mode 100644 cloudformation/quicksight/aws-quicksight-template_templatesourcetemplate.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_borderstyle.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_datacolorpalette.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_font.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_gutterstyle.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_marginstyle.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_resourcepermission.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_sheetstyle.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_themeconfiguration.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_tilelayoutstyle.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_tilestyle.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_typography.go create mode 100644 cloudformation/quicksight/aws-quicksight-theme_uicolorpalette.go create mode 100644 cloudformation/rds/aws-rds-globalcluster.go create mode 100644 cloudformation/route53/aws-route53-dnssec.go create mode 100644 cloudformation/route53/aws-route53-keysigningkey.go create mode 100644 cloudformation/route53resolver/aws-route53resolver-resolverdnssecconfig.go create mode 100644 cloudformation/s3/aws-s3-bucket_intelligenttieringconfiguration.go create mode 100644 cloudformation/s3/aws-s3-bucket_ownershipcontrols.go create mode 100644 cloudformation/s3/aws-s3-bucket_ownershipcontrolsrule.go create mode 100644 cloudformation/s3/aws-s3-bucket_tiering.go create mode 100644 cloudformation/s3/aws-s3-storagelens.go create mode 100644 cloudformation/s3/aws-s3-storagelens_accountlevel.go create mode 100644 cloudformation/s3/aws-s3-storagelens_activitymetrics.go create mode 100644 cloudformation/s3/aws-s3-storagelens_awsorg.go create mode 100644 cloudformation/s3/aws-s3-storagelens_bucketlevel.go create mode 100644 cloudformation/s3/aws-s3-storagelens_bucketsandregions.go create mode 100644 cloudformation/s3/aws-s3-storagelens_dataexport.go create mode 100644 cloudformation/s3/aws-s3-storagelens_encryption.go create mode 100644 cloudformation/s3/aws-s3-storagelens_prefixlevel.go create mode 100644 cloudformation/s3/aws-s3-storagelens_prefixlevelstoragemetrics.go create mode 100644 cloudformation/s3/aws-s3-storagelens_s3bucketdestination.go create mode 100644 cloudformation/s3/aws-s3-storagelens_selectioncriteria.go create mode 100644 cloudformation/s3/aws-s3-storagelens_storagelensconfiguration.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-accesspoint.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-accesspoint_vpcconfiguration.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-bucket.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-bucket_abortincompletemultipartupload.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-bucket_lifecycleconfiguration.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-bucket_rule.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-bucketpolicy.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-endpoint.go create mode 100644 cloudformation/s3outposts/aws-s3outposts-endpoint_networkinterface.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-app.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-app_resourcespec.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-appimageconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-appimageconfig_filesystemconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelgatewayimageconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelspec.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_clusterconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_constraintsresource.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualitybaselineconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityjobinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_endpointinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_environment.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutputconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringresources.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_networkconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_s3output.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_statisticsresource.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_stoppingcondition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_vpcconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-device.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-device_device.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-devicefleet.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-devicefleet_edgeoutputconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-domain.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-domain_customimage.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-domain_jupyterserverappsettings.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-domain_kernelgatewayappsettings.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-domain_resourcespec.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-domain_sharingsettings.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpoint_alarm.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpoint_autorollbackconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpoint_bluegreenupdatepolicy.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpoint_capacitysize.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpoint_deploymentconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-endpoint_trafficroutingconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-featuregroup.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-featuregroup_featuredefinition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-image.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-imageversion.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-model_inferenceexecutionconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-model_multimodelconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_clusterconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_constraintsresource.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_endpointinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_environment.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasbaselineconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasjobinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringgroundtruths3input.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutputconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringresources.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_networkconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_s3output.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_stoppingcondition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_vpcconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_clusterconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_constraintsresource.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_endpointinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_environment.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilitybaselineconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityjobinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutputconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringresources.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_networkconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_s3output.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_stoppingcondition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_vpcconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelpackagegroup.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_clusterconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_constraintsresource.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_endpointinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_environment.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualitybaselineconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityjobinput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringgroundtruths3input.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutput.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutputconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringresources.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_networkconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_s3output.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_stoppingcondition.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_vpcconfig.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-pipeline.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-project.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-userprofile.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-userprofile_customimage.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-userprofile_jupyterserverappsettings.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-userprofile_kernelgatewayappsettings.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-userprofile_resourcespec.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-userprofile_sharingsettings.go create mode 100644 cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go create mode 100644 cloudformation/secretsmanager/aws-secretsmanager-secret_replicaregion.go create mode 100644 cloudformation/servicecatalog/aws-servicecatalog-serviceaction.go create mode 100644 cloudformation/servicecatalog/aws-servicecatalog-serviceaction_definitionparameter.go create mode 100644 cloudformation/servicecatalog/aws-servicecatalog-serviceactionassociation.go create mode 100644 cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-application.go create mode 100644 cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup.go create mode 100644 cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup_attributes.go create mode 100644 cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroupassociation.go create mode 100644 cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-resourceassociation.go create mode 100644 cloudformation/signer/aws-signer-profilepermission.go create mode 100644 cloudformation/signer/aws-signer-signingprofile.go create mode 100644 cloudformation/signer/aws-signer-signingprofile_signaturevalidityperiod.go create mode 100644 cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration.go create mode 100644 cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattribute.go create mode 100644 cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevalue.go create mode 100644 cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevaluesourcelist.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachine_definition.go create mode 100644 cloudformation/transfer/aws-transfer-user_posixprofile.go diff --git a/cloudformation/acmpca/aws-acmpca-certificate.go b/cloudformation/acmpca/aws-acmpca-certificate.go index 98d73ba5d2..439830fd72 100644 --- a/cloudformation/acmpca/aws-acmpca-certificate.go +++ b/cloudformation/acmpca/aws-acmpca-certificate.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html type Certificate struct { + // ApiPassthrough AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-apipassthrough + ApiPassthrough *Certificate_ApiPassthrough `json:"ApiPassthrough,omitempty"` + // CertificateAuthorityArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificateauthorityarn @@ -37,6 +42,11 @@ type Certificate struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validity Validity *Certificate_Validity `json:"Validity,omitempty"` + // ValidityNotBefore AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validitynotbefore + ValidityNotBefore *Certificate_Validity `json:"ValidityNotBefore,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/acmpca/aws-acmpca-certificate_apipassthrough.go b/cloudformation/acmpca/aws-acmpca-certificate_apipassthrough.go new file mode 100644 index 0000000000..92ae282a63 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_apipassthrough.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_ApiPassthrough AWS CloudFormation Resource (AWS::ACMPCA::Certificate.ApiPassthrough) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html +type Certificate_ApiPassthrough struct { + + // Extensions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html#cfn-acmpca-certificate-apipassthrough-extensions + Extensions *Certificate_Extensions `json:"Extensions,omitempty"` + + // Subject AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html#cfn-acmpca-certificate-apipassthrough-subject + Subject *Certificate_Subject `json:"Subject,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_ApiPassthrough) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.ApiPassthrough" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_certificatepolicylist.go b/cloudformation/acmpca/aws-acmpca-certificate_certificatepolicylist.go new file mode 100644 index 0000000000..6d6666ddc1 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_certificatepolicylist.go @@ -0,0 +1,35 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_CertificatePolicyList AWS CloudFormation Resource (AWS::ACMPCA::Certificate.CertificatePolicyList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-certificatepolicylist.html +type Certificate_CertificatePolicyList struct { + + // CertificatePolicyList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-certificatepolicylist.html#cfn-acmpca-certificate-certificatepolicylist-certificatepolicylist + CertificatePolicyList []Certificate_PolicyInformation `json:"CertificatePolicyList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_CertificatePolicyList) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.CertificatePolicyList" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_edipartyname.go b/cloudformation/acmpca/aws-acmpca-certificate_edipartyname.go new file mode 100644 index 0000000000..618f58d790 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_edipartyname.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_EdiPartyName AWS CloudFormation Resource (AWS::ACMPCA::Certificate.EdiPartyName) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-edipartyname.html +type Certificate_EdiPartyName struct { + + // NameAssigner AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-edipartyname.html#cfn-acmpca-certificate-edipartyname-nameassigner + NameAssigner string `json:"NameAssigner,omitempty"` + + // PartyName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-edipartyname.html#cfn-acmpca-certificate-edipartyname-partyname + PartyName string `json:"PartyName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_EdiPartyName) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.EdiPartyName" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusage.go b/cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusage.go new file mode 100644 index 0000000000..5dcbf507a4 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusage.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_ExtendedKeyUsage AWS CloudFormation Resource (AWS::ACMPCA::Certificate.ExtendedKeyUsage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusage.html +type Certificate_ExtendedKeyUsage struct { + + // ExtendedKeyUsageObjectIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusage.html#cfn-acmpca-certificate-extendedkeyusage-extendedkeyusageobjectidentifier + ExtendedKeyUsageObjectIdentifier string `json:"ExtendedKeyUsageObjectIdentifier,omitempty"` + + // ExtendedKeyUsageType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusage.html#cfn-acmpca-certificate-extendedkeyusage-extendedkeyusagetype + ExtendedKeyUsageType string `json:"ExtendedKeyUsageType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_ExtendedKeyUsage) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.ExtendedKeyUsage" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusagelist.go b/cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusagelist.go new file mode 100644 index 0000000000..dfb3bd895c --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_extendedkeyusagelist.go @@ -0,0 +1,35 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_ExtendedKeyUsageList AWS CloudFormation Resource (AWS::ACMPCA::Certificate.ExtendedKeyUsageList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusagelist.html +type Certificate_ExtendedKeyUsageList struct { + + // ExtendedKeyUsageList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusagelist.html#cfn-acmpca-certificate-extendedkeyusagelist-extendedkeyusagelist + ExtendedKeyUsageList []Certificate_ExtendedKeyUsage `json:"ExtendedKeyUsageList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_ExtendedKeyUsageList) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.ExtendedKeyUsageList" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_extensions.go b/cloudformation/acmpca/aws-acmpca-certificate_extensions.go new file mode 100644 index 0000000000..5f993e1c62 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_extensions.go @@ -0,0 +1,50 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_Extensions AWS CloudFormation Resource (AWS::ACMPCA::Certificate.Extensions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html +type Certificate_Extensions struct { + + // CertificatePolicies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-certificatepolicies + CertificatePolicies *Certificate_CertificatePolicyList `json:"CertificatePolicies,omitempty"` + + // ExtendedKeyUsage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-extendedkeyusage + ExtendedKeyUsage *Certificate_ExtendedKeyUsageList `json:"ExtendedKeyUsage,omitempty"` + + // KeyUsage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-keyusage + KeyUsage *Certificate_KeyUsage `json:"KeyUsage,omitempty"` + + // SubjectAlternativeNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-subjectalternativenames + SubjectAlternativeNames *Certificate_GeneralNameList `json:"SubjectAlternativeNames,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_Extensions) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.Extensions" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_generalname.go b/cloudformation/acmpca/aws-acmpca-certificate_generalname.go new file mode 100644 index 0000000000..7395424ede --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_generalname.go @@ -0,0 +1,70 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_GeneralName AWS CloudFormation Resource (AWS::ACMPCA::Certificate.GeneralName) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html +type Certificate_GeneralName struct { + + // DirectoryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-directoryname + DirectoryName *Certificate_Subject `json:"DirectoryName,omitempty"` + + // DnsName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-dnsname + DnsName string `json:"DnsName,omitempty"` + + // EdiPartyName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-edipartyname + EdiPartyName *Certificate_EdiPartyName `json:"EdiPartyName,omitempty"` + + // IpAddress AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-ipaddress + IpAddress string `json:"IpAddress,omitempty"` + + // OtherName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-othername + OtherName *Certificate_OtherName `json:"OtherName,omitempty"` + + // RegisteredId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-registeredid + RegisteredId string `json:"RegisteredId,omitempty"` + + // Rfc822Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-rfc822name + Rfc822Name string `json:"Rfc822Name,omitempty"` + + // UniformResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-uniformresourceidentifier + UniformResourceIdentifier string `json:"UniformResourceIdentifier,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_GeneralName) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.GeneralName" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_generalnamelist.go b/cloudformation/acmpca/aws-acmpca-certificate_generalnamelist.go new file mode 100644 index 0000000000..5ea66d806e --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_generalnamelist.go @@ -0,0 +1,35 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_GeneralNameList AWS CloudFormation Resource (AWS::ACMPCA::Certificate.GeneralNameList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalnamelist.html +type Certificate_GeneralNameList struct { + + // GeneralNameList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalnamelist.html#cfn-acmpca-certificate-generalnamelist-generalnamelist + GeneralNameList []Certificate_GeneralName `json:"GeneralNameList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_GeneralNameList) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.GeneralNameList" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_keyusage.go b/cloudformation/acmpca/aws-acmpca-certificate_keyusage.go new file mode 100644 index 0000000000..dae9bc0d5b --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_keyusage.go @@ -0,0 +1,75 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_KeyUsage AWS CloudFormation Resource (AWS::ACMPCA::Certificate.KeyUsage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html +type Certificate_KeyUsage struct { + + // CRLSign AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-crlsign + CRLSign bool `json:"CRLSign,omitempty"` + + // DataEncipherment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-dataencipherment + DataEncipherment bool `json:"DataEncipherment,omitempty"` + + // DecipherOnly AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-decipheronly + DecipherOnly bool `json:"DecipherOnly,omitempty"` + + // DigitalSignature AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-digitalsignature + DigitalSignature bool `json:"DigitalSignature,omitempty"` + + // EncipherOnly AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-encipheronly + EncipherOnly bool `json:"EncipherOnly,omitempty"` + + // KeyAgreement AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-keyagreement + KeyAgreement bool `json:"KeyAgreement,omitempty"` + + // KeyCertSign AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-keycertsign + KeyCertSign bool `json:"KeyCertSign,omitempty"` + + // KeyEncipherment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-keyencipherment + KeyEncipherment bool `json:"KeyEncipherment,omitempty"` + + // NonRepudiation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-nonrepudiation + NonRepudiation bool `json:"NonRepudiation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_KeyUsage) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.KeyUsage" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_othername.go b/cloudformation/acmpca/aws-acmpca-certificate_othername.go new file mode 100644 index 0000000000..17169d36ab --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_othername.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_OtherName AWS CloudFormation Resource (AWS::ACMPCA::Certificate.OtherName) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-othername.html +type Certificate_OtherName struct { + + // TypeId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-othername.html#cfn-acmpca-certificate-othername-typeid + TypeId string `json:"TypeId,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-othername.html#cfn-acmpca-certificate-othername-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 *Certificate_OtherName) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.OtherName" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_policyinformation.go b/cloudformation/acmpca/aws-acmpca-certificate_policyinformation.go new file mode 100644 index 0000000000..bde9995567 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_policyinformation.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_PolicyInformation AWS CloudFormation Resource (AWS::ACMPCA::Certificate.PolicyInformation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyinformation.html +type Certificate_PolicyInformation struct { + + // CertPolicyId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyinformation.html#cfn-acmpca-certificate-policyinformation-certpolicyid + CertPolicyId string `json:"CertPolicyId,omitempty"` + + // PolicyQualifiers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyinformation.html#cfn-acmpca-certificate-policyinformation-policyqualifiers + PolicyQualifiers *Certificate_PolicyQualifierInfoList `json:"PolicyQualifiers,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_PolicyInformation) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.PolicyInformation" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfo.go b/cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfo.go new file mode 100644 index 0000000000..e1d6ea8d88 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfo.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_PolicyQualifierInfo AWS CloudFormation Resource (AWS::ACMPCA::Certificate.PolicyQualifierInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfo.html +type Certificate_PolicyQualifierInfo struct { + + // PolicyQualifierId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfo.html#cfn-acmpca-certificate-policyqualifierinfo-policyqualifierid + PolicyQualifierId string `json:"PolicyQualifierId,omitempty"` + + // Qualifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfo.html#cfn-acmpca-certificate-policyqualifierinfo-qualifier + Qualifier *Certificate_Qualifier `json:"Qualifier,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_PolicyQualifierInfo) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.PolicyQualifierInfo" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfolist.go b/cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfolist.go new file mode 100644 index 0000000000..b3eadd1739 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_policyqualifierinfolist.go @@ -0,0 +1,35 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_PolicyQualifierInfoList AWS CloudFormation Resource (AWS::ACMPCA::Certificate.PolicyQualifierInfoList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfolist.html +type Certificate_PolicyQualifierInfoList struct { + + // PolicyQualifierInfoList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfolist.html#cfn-acmpca-certificate-policyqualifierinfolist-policyqualifierinfolist + PolicyQualifierInfoList []Certificate_PolicyQualifierInfo `json:"PolicyQualifierInfoList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_PolicyQualifierInfoList) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.PolicyQualifierInfoList" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_qualifier.go b/cloudformation/acmpca/aws-acmpca-certificate_qualifier.go new file mode 100644 index 0000000000..a7ebc54c43 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_qualifier.go @@ -0,0 +1,35 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_Qualifier AWS CloudFormation Resource (AWS::ACMPCA::Certificate.Qualifier) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-qualifier.html +type Certificate_Qualifier struct { + + // CpsUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-qualifier.html#cfn-acmpca-certificate-qualifier-cpsuri + CpsUri string `json:"CpsUri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_Qualifier) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.Qualifier" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_subject.go b/cloudformation/acmpca/aws-acmpca-certificate_subject.go new file mode 100644 index 0000000000..5f67323c78 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificate_subject.go @@ -0,0 +1,100 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Certificate_Subject AWS CloudFormation Resource (AWS::ACMPCA::Certificate.Subject) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html +type Certificate_Subject struct { + + // CommonName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-commonname + CommonName string `json:"CommonName,omitempty"` + + // Country AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-country + Country string `json:"Country,omitempty"` + + // DistinguishedNameQualifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-distinguishednamequalifier + DistinguishedNameQualifier string `json:"DistinguishedNameQualifier,omitempty"` + + // GenerationQualifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-generationqualifier + GenerationQualifier string `json:"GenerationQualifier,omitempty"` + + // GivenName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-givenname + GivenName string `json:"GivenName,omitempty"` + + // Initials AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-initials + Initials string `json:"Initials,omitempty"` + + // Locality AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-locality + Locality string `json:"Locality,omitempty"` + + // Organization AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-organization + Organization string `json:"Organization,omitempty"` + + // OrganizationalUnit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-organizationalunit + OrganizationalUnit string `json:"OrganizationalUnit,omitempty"` + + // Pseudonym AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-pseudonym + Pseudonym string `json:"Pseudonym,omitempty"` + + // SerialNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-serialnumber + SerialNumber string `json:"SerialNumber,omitempty"` + + // State AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-state + State string `json:"State,omitempty"` + + // Surname AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-surname + Surname string `json:"Surname,omitempty"` + + // Title AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-title + Title string `json:"Title,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Certificate_Subject) AWSCloudFormationType() string { + return "AWS::ACMPCA::Certificate.Subject" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificate_validity.go b/cloudformation/acmpca/aws-acmpca-certificate_validity.go index 98748a619e..2400946eab 100644 --- a/cloudformation/acmpca/aws-acmpca-certificate_validity.go +++ b/cloudformation/acmpca/aws-acmpca-certificate_validity.go @@ -16,7 +16,7 @@ type Certificate_Validity struct { // Value AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html#cfn-acmpca-certificate-validity-value - Value int `json:"Value"` + Value float64 `json:"Value"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority.go b/cloudformation/acmpca/aws-acmpca-certificateauthority.go index aadd7cd83a..be2e4f1b67 100644 --- a/cloudformation/acmpca/aws-acmpca-certificateauthority.go +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html type CertificateAuthority struct { + // CsrExtensions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-csrextensions + CsrExtensions *CertificateAuthority_CsrExtensions `json:"CsrExtensions,omitempty"` + // KeyAlgorithm AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-keyalgorithm diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_accessdescription.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_accessdescription.go new file mode 100644 index 0000000000..c763a6f1a9 --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_accessdescription.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_AccessDescription AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.AccessDescription) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessdescription.html +type CertificateAuthority_AccessDescription struct { + + // AccessLocation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessdescription.html#cfn-acmpca-certificateauthority-accessdescription-accesslocation + AccessLocation *CertificateAuthority_GeneralName `json:"AccessLocation,omitempty"` + + // AccessMethod AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessdescription.html#cfn-acmpca-certificateauthority-accessdescription-accessmethod + AccessMethod *CertificateAuthority_AccessMethod `json:"AccessMethod,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CertificateAuthority_AccessDescription) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.AccessDescription" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_accessmethod.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_accessmethod.go new file mode 100644 index 0000000000..47a2f0dd4f --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_accessmethod.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_AccessMethod AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.AccessMethod) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessmethod.html +type CertificateAuthority_AccessMethod struct { + + // AccessMethodType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessmethod.html#cfn-acmpca-certificateauthority-accessmethod-accessmethodtype + AccessMethodType string `json:"AccessMethodType,omitempty"` + + // CustomObjectIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessmethod.html#cfn-acmpca-certificateauthority-accessmethod-customobjectidentifier + CustomObjectIdentifier string `json:"CustomObjectIdentifier,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CertificateAuthority_AccessMethod) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.AccessMethod" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_csrextensions.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_csrextensions.go new file mode 100644 index 0000000000..fe1d08943c --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_csrextensions.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_CsrExtensions AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.CsrExtensions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-csrextensions.html +type CertificateAuthority_CsrExtensions struct { + + // KeyUsage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-csrextensions.html#cfn-acmpca-certificateauthority-csrextensions-keyusage + KeyUsage *CertificateAuthority_KeyUsage `json:"KeyUsage,omitempty"` + + // SubjectInformationAccess AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-csrextensions.html#cfn-acmpca-certificateauthority-csrextensions-subjectinformationaccess + SubjectInformationAccess *CertificateAuthority_SubjectInformationAccess `json:"SubjectInformationAccess,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CertificateAuthority_CsrExtensions) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.CsrExtensions" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_edipartyname.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_edipartyname.go new file mode 100644 index 0000000000..eadaefaeac --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_edipartyname.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_EdiPartyName AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.EdiPartyName) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-edipartyname.html +type CertificateAuthority_EdiPartyName struct { + + // NameAssigner AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-edipartyname.html#cfn-acmpca-certificateauthority-edipartyname-nameassigner + NameAssigner string `json:"NameAssigner,omitempty"` + + // PartyName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-edipartyname.html#cfn-acmpca-certificateauthority-edipartyname-partyname + PartyName string `json:"PartyName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CertificateAuthority_EdiPartyName) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.EdiPartyName" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_generalname.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_generalname.go new file mode 100644 index 0000000000..f194b12cfd --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_generalname.go @@ -0,0 +1,70 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_GeneralName AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.GeneralName) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html +type CertificateAuthority_GeneralName struct { + + // DirectoryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-directoryname + DirectoryName *CertificateAuthority_Subject `json:"DirectoryName,omitempty"` + + // DnsName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-dnsname + DnsName string `json:"DnsName,omitempty"` + + // EdiPartyName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-edipartyname + EdiPartyName *CertificateAuthority_EdiPartyName `json:"EdiPartyName,omitempty"` + + // IpAddress AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-ipaddress + IpAddress string `json:"IpAddress,omitempty"` + + // OtherName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-othername + OtherName *CertificateAuthority_OtherName `json:"OtherName,omitempty"` + + // RegisteredId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-registeredid + RegisteredId string `json:"RegisteredId,omitempty"` + + // Rfc822Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-rfc822name + Rfc822Name string `json:"Rfc822Name,omitempty"` + + // UniformResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-uniformresourceidentifier + UniformResourceIdentifier string `json:"UniformResourceIdentifier,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CertificateAuthority_GeneralName) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.GeneralName" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_keyusage.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_keyusage.go new file mode 100644 index 0000000000..84cba0e67b --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_keyusage.go @@ -0,0 +1,75 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_KeyUsage AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.KeyUsage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html +type CertificateAuthority_KeyUsage struct { + + // CRLSign AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-crlsign + CRLSign bool `json:"CRLSign,omitempty"` + + // DataEncipherment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-dataencipherment + DataEncipherment bool `json:"DataEncipherment,omitempty"` + + // DecipherOnly AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-decipheronly + DecipherOnly bool `json:"DecipherOnly,omitempty"` + + // DigitalSignature AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-digitalsignature + DigitalSignature bool `json:"DigitalSignature,omitempty"` + + // EncipherOnly AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-encipheronly + EncipherOnly bool `json:"EncipherOnly,omitempty"` + + // KeyAgreement AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-keyagreement + KeyAgreement bool `json:"KeyAgreement,omitempty"` + + // KeyCertSign AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-keycertsign + KeyCertSign bool `json:"KeyCertSign,omitempty"` + + // KeyEncipherment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-keyencipherment + KeyEncipherment bool `json:"KeyEncipherment,omitempty"` + + // NonRepudiation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-nonrepudiation + NonRepudiation bool `json:"NonRepudiation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CertificateAuthority_KeyUsage) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.KeyUsage" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_othername.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_othername.go new file mode 100644 index 0000000000..e1fcc61ffb --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_othername.go @@ -0,0 +1,40 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_OtherName AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.OtherName) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-othername.html +type CertificateAuthority_OtherName struct { + + // TypeId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-othername.html#cfn-acmpca-certificateauthority-othername-typeid + TypeId string `json:"TypeId,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-othername.html#cfn-acmpca-certificateauthority-othername-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 *CertificateAuthority_OtherName) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.OtherName" +} diff --git a/cloudformation/acmpca/aws-acmpca-certificateauthority_subjectinformationaccess.go b/cloudformation/acmpca/aws-acmpca-certificateauthority_subjectinformationaccess.go new file mode 100644 index 0000000000..0e573af34b --- /dev/null +++ b/cloudformation/acmpca/aws-acmpca-certificateauthority_subjectinformationaccess.go @@ -0,0 +1,35 @@ +package acmpca + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CertificateAuthority_SubjectInformationAccess AWS CloudFormation Resource (AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subjectinformationaccess.html +type CertificateAuthority_SubjectInformationAccess struct { + + // SubjectInformationAccess AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subjectinformationaccess.html#cfn-acmpca-certificateauthority-subjectinformationaccess-subjectinformationaccess + SubjectInformationAccess []CertificateAuthority_AccessDescription `json:"SubjectInformationAccess,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CertificateAuthority_SubjectInformationAccess) AWSCloudFormationType() string { + return "AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess" +} diff --git a/cloudformation/all.go b/cloudformation/all.go index 24f334a517..88d3a6a0e2 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -17,6 +17,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/appsync" "github.com/awslabs/goformation/v4/cloudformation/ask" "github.com/awslabs/goformation/v4/cloudformation/athena" + "github.com/awslabs/goformation/v4/cloudformation/auditmanager" "github.com/awslabs/goformation/v4/cloudformation/autoscaling" "github.com/awslabs/goformation/v4/cloudformation/autoscalingplans" "github.com/awslabs/goformation/v4/cloudformation/backup" @@ -43,9 +44,12 @@ import ( "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/databrew" "github.com/awslabs/goformation/v4/cloudformation/datapipeline" + "github.com/awslabs/goformation/v4/cloudformation/datasync" "github.com/awslabs/goformation/v4/cloudformation/dax" "github.com/awslabs/goformation/v4/cloudformation/detective" + "github.com/awslabs/goformation/v4/cloudformation/devopsguru" "github.com/awslabs/goformation/v4/cloudformation/directoryservice" "github.com/awslabs/goformation/v4/cloudformation/dlm" "github.com/awslabs/goformation/v4/cloudformation/dms" @@ -62,6 +66,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/elasticloadbalancingv2" "github.com/awslabs/goformation/v4/cloudformation/elasticsearch" "github.com/awslabs/goformation/v4/cloudformation/emr" + "github.com/awslabs/goformation/v4/cloudformation/emrcontainers" "github.com/awslabs/goformation/v4/cloudformation/events" "github.com/awslabs/goformation/v4/cloudformation/eventschemas" "github.com/awslabs/goformation/v4/cloudformation/fms" @@ -70,6 +75,7 @@ import ( "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/greengrassv2" "github.com/awslabs/goformation/v4/cloudformation/guardduty" "github.com/awslabs/goformation/v4/cloudformation/iam" "github.com/awslabs/goformation/v4/cloudformation/imagebuilder" @@ -80,6 +86,7 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/iotevents" "github.com/awslabs/goformation/v4/cloudformation/iotsitewise" "github.com/awslabs/goformation/v4/cloudformation/iotthingsgraph" + "github.com/awslabs/goformation/v4/cloudformation/iotwireless" "github.com/awslabs/goformation/v4/cloudformation/ivs" "github.com/awslabs/goformation/v4/cloudformation/kendra" "github.com/awslabs/goformation/v4/cloudformation/kinesis" @@ -89,21 +96,27 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/kms" "github.com/awslabs/goformation/v4/cloudformation/lakeformation" "github.com/awslabs/goformation/v4/cloudformation/lambda" + "github.com/awslabs/goformation/v4/cloudformation/licensemanager" "github.com/awslabs/goformation/v4/cloudformation/logs" + "github.com/awslabs/goformation/v4/cloudformation/lookoutvision" "github.com/awslabs/goformation/v4/cloudformation/macie" "github.com/awslabs/goformation/v4/cloudformation/managedblockchain" + "github.com/awslabs/goformation/v4/cloudformation/mediaconnect" "github.com/awslabs/goformation/v4/cloudformation/mediaconvert" "github.com/awslabs/goformation/v4/cloudformation/medialive" "github.com/awslabs/goformation/v4/cloudformation/mediapackage" "github.com/awslabs/goformation/v4/cloudformation/mediastore" "github.com/awslabs/goformation/v4/cloudformation/msk" + "github.com/awslabs/goformation/v4/cloudformation/mwaa" "github.com/awslabs/goformation/v4/cloudformation/neptune" + "github.com/awslabs/goformation/v4/cloudformation/networkfirewall" "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" "github.com/awslabs/goformation/v4/cloudformation/pinpointemail" "github.com/awslabs/goformation/v4/cloudformation/qldb" + "github.com/awslabs/goformation/v4/cloudformation/quicksight" "github.com/awslabs/goformation/v4/cloudformation/ram" "github.com/awslabs/goformation/v4/cloudformation/rds" "github.com/awslabs/goformation/v4/cloudformation/redshift" @@ -112,14 +125,17 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/route53" "github.com/awslabs/goformation/v4/cloudformation/route53resolver" "github.com/awslabs/goformation/v4/cloudformation/s3" + "github.com/awslabs/goformation/v4/cloudformation/s3outposts" "github.com/awslabs/goformation/v4/cloudformation/sagemaker" "github.com/awslabs/goformation/v4/cloudformation/sdb" "github.com/awslabs/goformation/v4/cloudformation/secretsmanager" "github.com/awslabs/goformation/v4/cloudformation/securityhub" "github.com/awslabs/goformation/v4/cloudformation/serverless" "github.com/awslabs/goformation/v4/cloudformation/servicecatalog" + "github.com/awslabs/goformation/v4/cloudformation/servicecatalogappregistry" "github.com/awslabs/goformation/v4/cloudformation/servicediscovery" "github.com/awslabs/goformation/v4/cloudformation/ses" + "github.com/awslabs/goformation/v4/cloudformation/signer" "github.com/awslabs/goformation/v4/cloudformation/sns" "github.com/awslabs/goformation/v4/cloudformation/sqs" "github.com/awslabs/goformation/v4/cloudformation/ssm" @@ -214,6 +230,7 @@ func AllResources() map[string]Resource { "AWS::Athena::DataCatalog": &athena.DataCatalog{}, "AWS::Athena::NamedQuery": &athena.NamedQuery{}, "AWS::Athena::WorkGroup": &athena.WorkGroup{}, + "AWS::AuditManager::Assessment": &auditmanager.Assessment{}, "AWS::AutoScaling::AutoScalingGroup": &autoscaling.AutoScalingGroup{}, "AWS::AutoScaling::LaunchConfiguration": &autoscaling.LaunchConfiguration{}, "AWS::AutoScaling::LifecycleHook": &autoscaling.LifecycleHook{}, @@ -235,6 +252,10 @@ func AllResources() map[string]Resource { "AWS::Cloud9::EnvironmentEC2": &cloud9.EnvironmentEC2{}, "AWS::CloudFormation::CustomResource": &cloudformation.CustomResource{}, "AWS::CloudFormation::Macro": &cloudformation.Macro{}, + "AWS::CloudFormation::ModuleDefaultVersion": &cloudformation.ModuleDefaultVersion{}, + "AWS::CloudFormation::ModuleVersion": &cloudformation.ModuleVersion{}, + "AWS::CloudFormation::ResourceDefaultVersion": &cloudformation.ResourceDefaultVersion{}, + "AWS::CloudFormation::ResourceVersion": &cloudformation.ResourceVersion{}, "AWS::CloudFormation::Stack": &cloudformation.Stack{}, "AWS::CloudFormation::StackSet": &cloudformation.StackSet{}, "AWS::CloudFormation::WaitCondition": &cloudformation.WaitCondition{}, @@ -242,7 +263,9 @@ func AllResources() map[string]Resource { "AWS::CloudFront::CachePolicy": &cloudfront.CachePolicy{}, "AWS::CloudFront::CloudFrontOriginAccessIdentity": &cloudfront.CloudFrontOriginAccessIdentity{}, "AWS::CloudFront::Distribution": &cloudfront.Distribution{}, + "AWS::CloudFront::KeyGroup": &cloudfront.KeyGroup{}, "AWS::CloudFront::OriginRequestPolicy": &cloudfront.OriginRequestPolicy{}, + "AWS::CloudFront::PublicKey": &cloudfront.PublicKey{}, "AWS::CloudFront::RealtimeLogConfig": &cloudfront.RealtimeLogConfig{}, "AWS::CloudFront::StreamingDistribution": &cloudfront.StreamingDistribution{}, "AWS::CloudTrail::Trail": &cloudtrail.Trail{}, @@ -251,6 +274,7 @@ func AllResources() map[string]Resource { "AWS::CloudWatch::CompositeAlarm": &cloudwatch.CompositeAlarm{}, "AWS::CloudWatch::Dashboard": &cloudwatch.Dashboard{}, "AWS::CloudWatch::InsightRule": &cloudwatch.InsightRule{}, + "AWS::CloudWatch::MetricStream": &cloudwatch.MetricStream{}, "AWS::CodeArtifact::Domain": &codeartifact.Domain{}, "AWS::CodeArtifact::Repository": &codeartifact.Repository{}, "AWS::CodeBuild::Project": &codebuild.Project{}, @@ -289,6 +313,7 @@ func AllResources() map[string]Resource { "AWS::Config::OrganizationConfigRule": &config.OrganizationConfigRule{}, "AWS::Config::OrganizationConformancePack": &config.OrganizationConformancePack{}, "AWS::Config::RemediationConfiguration": &config.RemediationConfiguration{}, + "AWS::Config::StoredQuery": &config.StoredQuery{}, "AWS::DAX::Cluster": &dax.Cluster{}, "AWS::DAX::ParameterGroup": &dax.ParameterGroup{}, "AWS::DAX::SubnetGroup": &dax.SubnetGroup{}, @@ -299,9 +324,24 @@ func AllResources() map[string]Resource { "AWS::DMS::ReplicationInstance": &dms.ReplicationInstance{}, "AWS::DMS::ReplicationSubnetGroup": &dms.ReplicationSubnetGroup{}, "AWS::DMS::ReplicationTask": &dms.ReplicationTask{}, + "AWS::DataBrew::Dataset": &databrew.Dataset{}, + "AWS::DataBrew::Job": &databrew.Job{}, + "AWS::DataBrew::Project": &databrew.Project{}, + "AWS::DataBrew::Recipe": &databrew.Recipe{}, + "AWS::DataBrew::Schedule": &databrew.Schedule{}, "AWS::DataPipeline::Pipeline": &datapipeline.Pipeline{}, + "AWS::DataSync::Agent": &datasync.Agent{}, + "AWS::DataSync::LocationEFS": &datasync.LocationEFS{}, + "AWS::DataSync::LocationFSxWindows": &datasync.LocationFSxWindows{}, + "AWS::DataSync::LocationNFS": &datasync.LocationNFS{}, + "AWS::DataSync::LocationObjectStorage": &datasync.LocationObjectStorage{}, + "AWS::DataSync::LocationS3": &datasync.LocationS3{}, + "AWS::DataSync::LocationSMB": &datasync.LocationSMB{}, + "AWS::DataSync::Task": &datasync.Task{}, "AWS::Detective::Graph": &detective.Graph{}, "AWS::Detective::MemberInvitation": &detective.MemberInvitation{}, + "AWS::DevOpsGuru::NotificationChannel": &devopsguru.NotificationChannel{}, + "AWS::DevOpsGuru::ResourceCollection": &devopsguru.ResourceCollection{}, "AWS::DirectoryService::MicrosoftAD": &directoryservice.MicrosoftAD{}, "AWS::DirectoryService::SimpleAD": &directoryservice.SimpleAD{}, "AWS::DocDB::DBCluster": &docdb.DBCluster{}, @@ -332,6 +372,8 @@ func AllResources() map[string]Resource { "AWS::EC2::NatGateway": &ec2.NatGateway{}, "AWS::EC2::NetworkAcl": &ec2.NetworkAcl{}, "AWS::EC2::NetworkAclEntry": &ec2.NetworkAclEntry{}, + "AWS::EC2::NetworkInsightsAnalysis": &ec2.NetworkInsightsAnalysis{}, + "AWS::EC2::NetworkInsightsPath": &ec2.NetworkInsightsPath{}, "AWS::EC2::NetworkInterface": &ec2.NetworkInterface{}, "AWS::EC2::NetworkInterfaceAttachment": &ec2.NetworkInterfaceAttachment{}, "AWS::EC2::NetworkInterfacePermission": &ec2.NetworkInterfacePermission{}, @@ -353,6 +395,11 @@ func AllResources() map[string]Resource { "AWS::EC2::TrafficMirrorTarget": &ec2.TrafficMirrorTarget{}, "AWS::EC2::TransitGateway": &ec2.TransitGateway{}, "AWS::EC2::TransitGatewayAttachment": &ec2.TransitGatewayAttachment{}, + "AWS::EC2::TransitGatewayConnect": &ec2.TransitGatewayConnect{}, + "AWS::EC2::TransitGatewayMulticastDomain": &ec2.TransitGatewayMulticastDomain{}, + "AWS::EC2::TransitGatewayMulticastDomainAssociation": &ec2.TransitGatewayMulticastDomainAssociation{}, + "AWS::EC2::TransitGatewayMulticastGroupMember": &ec2.TransitGatewayMulticastGroupMember{}, + "AWS::EC2::TransitGatewayMulticastGroupSource": &ec2.TransitGatewayMulticastGroupSource{}, "AWS::EC2::TransitGatewayRoute": &ec2.TransitGatewayRoute{}, "AWS::EC2::TransitGatewayRouteTable": &ec2.TransitGatewayRouteTable{}, "AWS::EC2::TransitGatewayRouteTableAssociation": &ec2.TransitGatewayRouteTableAssociation{}, @@ -372,6 +419,9 @@ func AllResources() map[string]Resource { "AWS::EC2::VPNGatewayRoutePropagation": &ec2.VPNGatewayRoutePropagation{}, "AWS::EC2::Volume": &ec2.Volume{}, "AWS::EC2::VolumeAttachment": &ec2.VolumeAttachment{}, + "AWS::ECR::PublicRepository": &ecr.PublicRepository{}, + "AWS::ECR::RegistryPolicy": &ecr.RegistryPolicy{}, + "AWS::ECR::ReplicationConfiguration": &ecr.ReplicationConfiguration{}, "AWS::ECR::Repository": &ecr.Repository{}, "AWS::ECS::CapacityProvider": &ecs.CapacityProvider{}, "AWS::ECS::Cluster": &ecs.Cluster{}, @@ -382,6 +432,7 @@ func AllResources() map[string]Resource { "AWS::EFS::AccessPoint": &efs.AccessPoint{}, "AWS::EFS::FileSystem": &efs.FileSystem{}, "AWS::EFS::MountTarget": &efs.MountTarget{}, + "AWS::EKS::Addon": &eks.Addon{}, "AWS::EKS::Cluster": &eks.Cluster{}, "AWS::EKS::FargateProfile": &eks.FargateProfile{}, "AWS::EKS::Nodegroup": &eks.Nodegroup{}, @@ -390,12 +441,18 @@ func AllResources() map[string]Resource { "AWS::EMR::InstanceGroupConfig": &emr.InstanceGroupConfig{}, "AWS::EMR::SecurityConfiguration": &emr.SecurityConfiguration{}, "AWS::EMR::Step": &emr.Step{}, + "AWS::EMR::Studio": &emr.Studio{}, + "AWS::EMR::StudioSessionMapping": &emr.StudioSessionMapping{}, + "AWS::EMRContainers::VirtualCluster": &emrcontainers.VirtualCluster{}, "AWS::ElastiCache::CacheCluster": &elasticache.CacheCluster{}, + "AWS::ElastiCache::GlobalReplicationGroup": &elasticache.GlobalReplicationGroup{}, "AWS::ElastiCache::ParameterGroup": &elasticache.ParameterGroup{}, "AWS::ElastiCache::ReplicationGroup": &elasticache.ReplicationGroup{}, "AWS::ElastiCache::SecurityGroup": &elasticache.SecurityGroup{}, "AWS::ElastiCache::SecurityGroupIngress": &elasticache.SecurityGroupIngress{}, "AWS::ElastiCache::SubnetGroup": &elasticache.SubnetGroup{}, + "AWS::ElastiCache::User": &elasticache.User{}, + "AWS::ElastiCache::UserGroup": &elasticache.UserGroup{}, "AWS::ElasticBeanstalk::Application": &elasticbeanstalk.Application{}, "AWS::ElasticBeanstalk::ApplicationVersion": &elasticbeanstalk.ApplicationVersion{}, "AWS::ElasticBeanstalk::ConfigurationTemplate": &elasticbeanstalk.ConfigurationTemplate{}, @@ -411,6 +468,9 @@ func AllResources() map[string]Resource { "AWS::EventSchemas::Registry": &eventschemas.Registry{}, "AWS::EventSchemas::RegistryPolicy": &eventschemas.RegistryPolicy{}, "AWS::EventSchemas::Schema": &eventschemas.Schema{}, + "AWS::Events::ApiDestination": &events.ApiDestination{}, + "AWS::Events::Archive": &events.Archive{}, + "AWS::Events::Connection": &events.Connection{}, "AWS::Events::EventBus": &events.EventBus{}, "AWS::Events::EventBusPolicy": &events.EventBusPolicy{}, "AWS::Events::Rule": &events.Rule{}, @@ -437,6 +497,10 @@ func AllResources() map[string]Resource { "AWS::Glue::Job": &glue.Job{}, "AWS::Glue::MLTransform": &glue.MLTransform{}, "AWS::Glue::Partition": &glue.Partition{}, + "AWS::Glue::Registry": &glue.Registry{}, + "AWS::Glue::Schema": &glue.Schema{}, + "AWS::Glue::SchemaVersion": &glue.SchemaVersion{}, + "AWS::Glue::SchemaVersionMetadata": &glue.SchemaVersionMetadata{}, "AWS::Glue::SecurityConfiguration": &glue.SecurityConfiguration{}, "AWS::Glue::Table": &glue.Table{}, "AWS::Glue::Trigger": &glue.Trigger{}, @@ -457,6 +521,7 @@ func AllResources() map[string]Resource { "AWS::Greengrass::ResourceDefinitionVersion": &greengrass.ResourceDefinitionVersion{}, "AWS::Greengrass::SubscriptionDefinition": &greengrass.SubscriptionDefinition{}, "AWS::Greengrass::SubscriptionDefinitionVersion": &greengrass.SubscriptionDefinitionVersion{}, + "AWS::GreengrassV2::ComponentVersion": &greengrassv2.ComponentVersion{}, "AWS::GuardDuty::Detector": &guardduty.Detector{}, "AWS::GuardDuty::Filter": &guardduty.Filter{}, "AWS::GuardDuty::IPSet": &guardduty.IPSet{}, @@ -467,15 +532,20 @@ func AllResources() map[string]Resource { "AWS::IAM::Group": &iam.Group{}, "AWS::IAM::InstanceProfile": &iam.InstanceProfile{}, "AWS::IAM::ManagedPolicy": &iam.ManagedPolicy{}, + "AWS::IAM::OIDCProvider": &iam.OIDCProvider{}, "AWS::IAM::Policy": &iam.Policy{}, "AWS::IAM::Role": &iam.Role{}, + "AWS::IAM::SAMLProvider": &iam.SAMLProvider{}, + "AWS::IAM::ServerCertificate": &iam.ServerCertificate{}, "AWS::IAM::ServiceLinkedRole": &iam.ServiceLinkedRole{}, "AWS::IAM::User": &iam.User{}, "AWS::IAM::UserToGroupAddition": &iam.UserToGroupAddition{}, + "AWS::IAM::VirtualMFADevice": &iam.VirtualMFADevice{}, "AWS::IVS::Channel": &ivs.Channel{}, "AWS::IVS::PlaybackKeyPair": &ivs.PlaybackKeyPair{}, "AWS::IVS::StreamKey": &ivs.StreamKey{}, "AWS::ImageBuilder::Component": &imagebuilder.Component{}, + "AWS::ImageBuilder::ContainerRecipe": &imagebuilder.ContainerRecipe{}, "AWS::ImageBuilder::DistributionConfiguration": &imagebuilder.DistributionConfiguration{}, "AWS::ImageBuilder::Image": &imagebuilder.Image{}, "AWS::ImageBuilder::ImagePipeline": &imagebuilder.ImagePipeline{}, @@ -487,24 +557,41 @@ func AllResources() map[string]Resource { "AWS::IoT1Click::Device": &iot1click.Device{}, "AWS::IoT1Click::Placement": &iot1click.Placement{}, "AWS::IoT1Click::Project": &iot1click.Project{}, + "AWS::IoT::AccountAuditConfiguration": &iot.AccountAuditConfiguration{}, "AWS::IoT::Authorizer": &iot.Authorizer{}, "AWS::IoT::Certificate": &iot.Certificate{}, + "AWS::IoT::CustomMetric": &iot.CustomMetric{}, + "AWS::IoT::Dimension": &iot.Dimension{}, + "AWS::IoT::DomainConfiguration": &iot.DomainConfiguration{}, + "AWS::IoT::MitigationAction": &iot.MitigationAction{}, "AWS::IoT::Policy": &iot.Policy{}, "AWS::IoT::PolicyPrincipalAttachment": &iot.PolicyPrincipalAttachment{}, "AWS::IoT::ProvisioningTemplate": &iot.ProvisioningTemplate{}, + "AWS::IoT::ScheduledAudit": &iot.ScheduledAudit{}, + "AWS::IoT::SecurityProfile": &iot.SecurityProfile{}, "AWS::IoT::Thing": &iot.Thing{}, "AWS::IoT::ThingPrincipalAttachment": &iot.ThingPrincipalAttachment{}, "AWS::IoT::TopicRule": &iot.TopicRule{}, + "AWS::IoT::TopicRuleDestination": &iot.TopicRuleDestination{}, "AWS::IoTAnalytics::Channel": &iotanalytics.Channel{}, "AWS::IoTAnalytics::Dataset": &iotanalytics.Dataset{}, "AWS::IoTAnalytics::Datastore": &iotanalytics.Datastore{}, "AWS::IoTAnalytics::Pipeline": &iotanalytics.Pipeline{}, "AWS::IoTEvents::DetectorModel": &iotevents.DetectorModel{}, "AWS::IoTEvents::Input": &iotevents.Input{}, + "AWS::IoTSiteWise::AccessPolicy": &iotsitewise.AccessPolicy{}, "AWS::IoTSiteWise::Asset": &iotsitewise.Asset{}, "AWS::IoTSiteWise::AssetModel": &iotsitewise.AssetModel{}, + "AWS::IoTSiteWise::Dashboard": &iotsitewise.Dashboard{}, "AWS::IoTSiteWise::Gateway": &iotsitewise.Gateway{}, + "AWS::IoTSiteWise::Portal": &iotsitewise.Portal{}, + "AWS::IoTSiteWise::Project": &iotsitewise.Project{}, "AWS::IoTThingsGraph::FlowTemplate": &iotthingsgraph.FlowTemplate{}, + "AWS::IoTWireless::Destination": &iotwireless.Destination{}, + "AWS::IoTWireless::DeviceProfile": &iotwireless.DeviceProfile{}, + "AWS::IoTWireless::ServiceProfile": &iotwireless.ServiceProfile{}, + "AWS::IoTWireless::WirelessDevice": &iotwireless.WirelessDevice{}, + "AWS::IoTWireless::WirelessGateway": &iotwireless.WirelessGateway{}, "AWS::KMS::Alias": &kms.Alias{}, "AWS::KMS::Key": &kms.Key{}, "AWS::Kendra::DataSource": &kendra.DataSource{}, @@ -524,6 +611,7 @@ func AllResources() map[string]Resource { "AWS::LakeFormation::Permissions": &lakeformation.Permissions{}, "AWS::LakeFormation::Resource": &lakeformation.Resource{}, "AWS::Lambda::Alias": &lambda.Alias{}, + "AWS::Lambda::CodeSigningConfig": &lambda.CodeSigningConfig{}, "AWS::Lambda::EventInvokeConfig": &lambda.EventInvokeConfig{}, "AWS::Lambda::EventSourceMapping": &lambda.EventSourceMapping{}, "AWS::Lambda::Function": &lambda.Function{}, @@ -531,17 +619,26 @@ func AllResources() map[string]Resource { "AWS::Lambda::LayerVersionPermission": &lambda.LayerVersionPermission{}, "AWS::Lambda::Permission": &lambda.Permission{}, "AWS::Lambda::Version": &lambda.Version{}, + "AWS::LicenseManager::Grant": &licensemanager.Grant{}, + "AWS::LicenseManager::License": &licensemanager.License{}, "AWS::Logs::Destination": &logs.Destination{}, "AWS::Logs::LogGroup": &logs.LogGroup{}, "AWS::Logs::LogStream": &logs.LogStream{}, "AWS::Logs::MetricFilter": &logs.MetricFilter{}, "AWS::Logs::SubscriptionFilter": &logs.SubscriptionFilter{}, + "AWS::LookoutVision::Project": &lookoutvision.Project{}, "AWS::MSK::Cluster": &msk.Cluster{}, + "AWS::MWAA::Environment": &mwaa.Environment{}, "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::MediaConnect::Flow": &mediaconnect.Flow{}, + "AWS::MediaConnect::FlowEntitlement": &mediaconnect.FlowEntitlement{}, + "AWS::MediaConnect::FlowOutput": &mediaconnect.FlowOutput{}, + "AWS::MediaConnect::FlowSource": &mediaconnect.FlowSource{}, + "AWS::MediaConnect::FlowVpcInterface": &mediaconnect.FlowVpcInterface{}, "AWS::MediaConvert::JobTemplate": &mediaconvert.JobTemplate{}, "AWS::MediaConvert::Preset": &mediaconvert.Preset{}, "AWS::MediaConvert::Queue": &mediaconvert.Queue{}, @@ -559,6 +656,10 @@ func AllResources() map[string]Resource { "AWS::Neptune::DBInstance": &neptune.DBInstance{}, "AWS::Neptune::DBParameterGroup": &neptune.DBParameterGroup{}, "AWS::Neptune::DBSubnetGroup": &neptune.DBSubnetGroup{}, + "AWS::NetworkFirewall::Firewall": &networkfirewall.Firewall{}, + "AWS::NetworkFirewall::FirewallPolicy": &networkfirewall.FirewallPolicy{}, + "AWS::NetworkFirewall::LoggingConfiguration": &networkfirewall.LoggingConfiguration{}, + "AWS::NetworkFirewall::RuleGroup": &networkfirewall.RuleGroup{}, "AWS::NetworkManager::CustomerGatewayAssociation": &networkmanager.CustomerGatewayAssociation{}, "AWS::NetworkManager::Device": &networkmanager.Device{}, "AWS::NetworkManager::GlobalNetwork": &networkmanager.GlobalNetwork{}, @@ -598,6 +699,10 @@ func AllResources() map[string]Resource { "AWS::PinpointEmail::Identity": &pinpointemail.Identity{}, "AWS::QLDB::Ledger": &qldb.Ledger{}, "AWS::QLDB::Stream": &qldb.Stream{}, + "AWS::QuickSight::Analysis": &quicksight.Analysis{}, + "AWS::QuickSight::Dashboard": &quicksight.Dashboard{}, + "AWS::QuickSight::Template": &quicksight.Template{}, + "AWS::QuickSight::Theme": &quicksight.Theme{}, "AWS::RAM::ResourceShare": &ram.ResourceShare{}, "AWS::RDS::DBCluster": &rds.DBCluster{}, "AWS::RDS::DBClusterParameterGroup": &rds.DBClusterParameterGroup{}, @@ -609,6 +714,7 @@ func AllResources() map[string]Resource { "AWS::RDS::DBSecurityGroupIngress": &rds.DBSecurityGroupIngress{}, "AWS::RDS::DBSubnetGroup": &rds.DBSubnetGroup{}, "AWS::RDS::EventSubscription": &rds.EventSubscription{}, + "AWS::RDS::GlobalCluster": &rds.GlobalCluster{}, "AWS::RDS::OptionGroup": &rds.OptionGroup{}, "AWS::Redshift::Cluster": &redshift.Cluster{}, "AWS::Redshift::ClusterParameterGroup": &redshift.ClusterParameterGroup{}, @@ -622,10 +728,13 @@ func AllResources() map[string]Resource { "AWS::RoboMaker::RobotApplicationVersion": &robomaker.RobotApplicationVersion{}, "AWS::RoboMaker::SimulationApplication": &robomaker.SimulationApplication{}, "AWS::RoboMaker::SimulationApplicationVersion": &robomaker.SimulationApplicationVersion{}, + "AWS::Route53::DNSSEC": &route53.DNSSEC{}, "AWS::Route53::HealthCheck": &route53.HealthCheck{}, "AWS::Route53::HostedZone": &route53.HostedZone{}, + "AWS::Route53::KeySigningKey": &route53.KeySigningKey{}, "AWS::Route53::RecordSet": &route53.RecordSet{}, "AWS::Route53::RecordSetGroup": &route53.RecordSetGroup{}, + "AWS::Route53Resolver::ResolverDNSSECConfig": &route53resolver.ResolverDNSSECConfig{}, "AWS::Route53Resolver::ResolverEndpoint": &route53resolver.ResolverEndpoint{}, "AWS::Route53Resolver::ResolverQueryLoggingConfig": &route53resolver.ResolverQueryLoggingConfig{}, "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": &route53resolver.ResolverQueryLoggingConfigAssociation{}, @@ -634,6 +743,11 @@ func AllResources() map[string]Resource { "AWS::S3::AccessPoint": &s3.AccessPoint{}, "AWS::S3::Bucket": &s3.Bucket{}, "AWS::S3::BucketPolicy": &s3.BucketPolicy{}, + "AWS::S3::StorageLens": &s3.StorageLens{}, + "AWS::S3Outposts::AccessPoint": &s3outposts.AccessPoint{}, + "AWS::S3Outposts::Bucket": &s3outposts.Bucket{}, + "AWS::S3Outposts::BucketPolicy": &s3outposts.BucketPolicy{}, + "AWS::S3Outposts::Endpoint": &s3outposts.Endpoint{}, "AWS::SDB::Domain": &sdb.Domain{}, "AWS::SES::ConfigurationSet": &ses.ConfigurationSet{}, "AWS::SES::ConfigurationSetEventDestination": &ses.ConfigurationSetEventDestination{}, @@ -655,14 +769,31 @@ func AllResources() map[string]Resource { "AWS::SSM::PatchBaseline": &ssm.PatchBaseline{}, "AWS::SSM::ResourceDataSync": &ssm.ResourceDataSync{}, "AWS::SSO::Assignment": &sso.Assignment{}, + "AWS::SSO::InstanceAccessControlAttributeConfiguration": &sso.InstanceAccessControlAttributeConfiguration{}, "AWS::SSO::PermissionSet": &sso.PermissionSet{}, + "AWS::SageMaker::App": &sagemaker.App{}, + "AWS::SageMaker::AppImageConfig": &sagemaker.AppImageConfig{}, "AWS::SageMaker::CodeRepository": &sagemaker.CodeRepository{}, + "AWS::SageMaker::DataQualityJobDefinition": &sagemaker.DataQualityJobDefinition{}, + "AWS::SageMaker::Device": &sagemaker.Device{}, + "AWS::SageMaker::DeviceFleet": &sagemaker.DeviceFleet{}, + "AWS::SageMaker::Domain": &sagemaker.Domain{}, "AWS::SageMaker::Endpoint": &sagemaker.Endpoint{}, "AWS::SageMaker::EndpointConfig": &sagemaker.EndpointConfig{}, + "AWS::SageMaker::FeatureGroup": &sagemaker.FeatureGroup{}, + "AWS::SageMaker::Image": &sagemaker.Image{}, + "AWS::SageMaker::ImageVersion": &sagemaker.ImageVersion{}, "AWS::SageMaker::Model": &sagemaker.Model{}, + "AWS::SageMaker::ModelBiasJobDefinition": &sagemaker.ModelBiasJobDefinition{}, + "AWS::SageMaker::ModelExplainabilityJobDefinition": &sagemaker.ModelExplainabilityJobDefinition{}, + "AWS::SageMaker::ModelPackageGroup": &sagemaker.ModelPackageGroup{}, + "AWS::SageMaker::ModelQualityJobDefinition": &sagemaker.ModelQualityJobDefinition{}, "AWS::SageMaker::MonitoringSchedule": &sagemaker.MonitoringSchedule{}, "AWS::SageMaker::NotebookInstance": &sagemaker.NotebookInstance{}, "AWS::SageMaker::NotebookInstanceLifecycleConfig": &sagemaker.NotebookInstanceLifecycleConfig{}, + "AWS::SageMaker::Pipeline": &sagemaker.Pipeline{}, + "AWS::SageMaker::Project": &sagemaker.Project{}, + "AWS::SageMaker::UserProfile": &sagemaker.UserProfile{}, "AWS::SageMaker::Workteam": &sagemaker.Workteam{}, "AWS::SecretsManager::ResourcePolicy": &secretsmanager.ResourcePolicy{}, "AWS::SecretsManager::RotationSchedule": &secretsmanager.RotationSchedule{}, @@ -687,14 +818,22 @@ func AllResources() map[string]Resource { "AWS::ServiceCatalog::PortfolioProductAssociation": &servicecatalog.PortfolioProductAssociation{}, "AWS::ServiceCatalog::PortfolioShare": &servicecatalog.PortfolioShare{}, "AWS::ServiceCatalog::ResourceUpdateConstraint": &servicecatalog.ResourceUpdateConstraint{}, + "AWS::ServiceCatalog::ServiceAction": &servicecatalog.ServiceAction{}, + "AWS::ServiceCatalog::ServiceActionAssociation": &servicecatalog.ServiceActionAssociation{}, "AWS::ServiceCatalog::StackSetConstraint": &servicecatalog.StackSetConstraint{}, "AWS::ServiceCatalog::TagOption": &servicecatalog.TagOption{}, "AWS::ServiceCatalog::TagOptionAssociation": &servicecatalog.TagOptionAssociation{}, + "AWS::ServiceCatalogAppRegistry::Application": &servicecatalogappregistry.Application{}, + "AWS::ServiceCatalogAppRegistry::AttributeGroup": &servicecatalogappregistry.AttributeGroup{}, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": &servicecatalogappregistry.AttributeGroupAssociation{}, + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": &servicecatalogappregistry.ResourceAssociation{}, "AWS::ServiceDiscovery::HttpNamespace": &servicediscovery.HttpNamespace{}, "AWS::ServiceDiscovery::Instance": &servicediscovery.Instance{}, "AWS::ServiceDiscovery::PrivateDnsNamespace": &servicediscovery.PrivateDnsNamespace{}, "AWS::ServiceDiscovery::PublicDnsNamespace": &servicediscovery.PublicDnsNamespace{}, "AWS::ServiceDiscovery::Service": &servicediscovery.Service{}, + "AWS::Signer::ProfilePermission": &signer.ProfilePermission{}, + "AWS::Signer::SigningProfile": &signer.SigningProfile{}, "AWS::StepFunctions::Activity": &stepfunctions.Activity{}, "AWS::StepFunctions::StateMachine": &stepfunctions.StateMachine{}, "AWS::Synthetics::Canary": &synthetics.Canary{}, @@ -2579,6 +2718,30 @@ func (t *Template) GetAthenaWorkGroupWithName(name string) (*athena.WorkGroup, e return nil, fmt.Errorf("resource %q of type athena.WorkGroup not found", name) } +// GetAllAuditManagerAssessmentResources retrieves all auditmanager.Assessment items from an AWS CloudFormation template +func (t *Template) GetAllAuditManagerAssessmentResources() map[string]*auditmanager.Assessment { + results := map[string]*auditmanager.Assessment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *auditmanager.Assessment: + results[name] = resource + } + } + return results +} + +// GetAuditManagerAssessmentWithName retrieves all auditmanager.Assessment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAuditManagerAssessmentWithName(name string) (*auditmanager.Assessment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *auditmanager.Assessment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type auditmanager.Assessment 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{} @@ -3083,6 +3246,102 @@ func (t *Template) GetCloudFormationMacroWithName(name string) (*cloudformation. return nil, fmt.Errorf("resource %q of type cloudformation.Macro not found", name) } +// GetAllCloudFormationModuleDefaultVersionResources retrieves all cloudformation.ModuleDefaultVersion items from an AWS CloudFormation template +func (t *Template) GetAllCloudFormationModuleDefaultVersionResources() map[string]*cloudformation.ModuleDefaultVersion { + results := map[string]*cloudformation.ModuleDefaultVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudformation.ModuleDefaultVersion: + results[name] = resource + } + } + return results +} + +// GetCloudFormationModuleDefaultVersionWithName retrieves all cloudformation.ModuleDefaultVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudFormationModuleDefaultVersionWithName(name string) (*cloudformation.ModuleDefaultVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudformation.ModuleDefaultVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudformation.ModuleDefaultVersion not found", name) +} + +// GetAllCloudFormationModuleVersionResources retrieves all cloudformation.ModuleVersion items from an AWS CloudFormation template +func (t *Template) GetAllCloudFormationModuleVersionResources() map[string]*cloudformation.ModuleVersion { + results := map[string]*cloudformation.ModuleVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudformation.ModuleVersion: + results[name] = resource + } + } + return results +} + +// GetCloudFormationModuleVersionWithName retrieves all cloudformation.ModuleVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudFormationModuleVersionWithName(name string) (*cloudformation.ModuleVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudformation.ModuleVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudformation.ModuleVersion not found", name) +} + +// GetAllCloudFormationResourceDefaultVersionResources retrieves all cloudformation.ResourceDefaultVersion items from an AWS CloudFormation template +func (t *Template) GetAllCloudFormationResourceDefaultVersionResources() map[string]*cloudformation.ResourceDefaultVersion { + results := map[string]*cloudformation.ResourceDefaultVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudformation.ResourceDefaultVersion: + results[name] = resource + } + } + return results +} + +// GetCloudFormationResourceDefaultVersionWithName retrieves all cloudformation.ResourceDefaultVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudFormationResourceDefaultVersionWithName(name string) (*cloudformation.ResourceDefaultVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudformation.ResourceDefaultVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudformation.ResourceDefaultVersion not found", name) +} + +// GetAllCloudFormationResourceVersionResources retrieves all cloudformation.ResourceVersion items from an AWS CloudFormation template +func (t *Template) GetAllCloudFormationResourceVersionResources() map[string]*cloudformation.ResourceVersion { + results := map[string]*cloudformation.ResourceVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudformation.ResourceVersion: + results[name] = resource + } + } + return results +} + +// GetCloudFormationResourceVersionWithName retrieves all cloudformation.ResourceVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudFormationResourceVersionWithName(name string) (*cloudformation.ResourceVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudformation.ResourceVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudformation.ResourceVersion not found", name) +} + // GetAllCloudFormationStackResources retrieves all cloudformation.Stack items from an AWS CloudFormation template func (t *Template) GetAllCloudFormationStackResources() map[string]*cloudformation.Stack { results := map[string]*cloudformation.Stack{} @@ -3251,6 +3510,30 @@ func (t *Template) GetCloudFrontDistributionWithName(name string) (*cloudfront.D return nil, fmt.Errorf("resource %q of type cloudfront.Distribution not found", name) } +// GetAllCloudFrontKeyGroupResources retrieves all cloudfront.KeyGroup items from an AWS CloudFormation template +func (t *Template) GetAllCloudFrontKeyGroupResources() map[string]*cloudfront.KeyGroup { + results := map[string]*cloudfront.KeyGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudfront.KeyGroup: + results[name] = resource + } + } + return results +} + +// GetCloudFrontKeyGroupWithName retrieves all cloudfront.KeyGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudFrontKeyGroupWithName(name string) (*cloudfront.KeyGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudfront.KeyGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudfront.KeyGroup not found", name) +} + // GetAllCloudFrontOriginRequestPolicyResources retrieves all cloudfront.OriginRequestPolicy items from an AWS CloudFormation template func (t *Template) GetAllCloudFrontOriginRequestPolicyResources() map[string]*cloudfront.OriginRequestPolicy { results := map[string]*cloudfront.OriginRequestPolicy{} @@ -3275,6 +3558,30 @@ func (t *Template) GetCloudFrontOriginRequestPolicyWithName(name string) (*cloud return nil, fmt.Errorf("resource %q of type cloudfront.OriginRequestPolicy not found", name) } +// GetAllCloudFrontPublicKeyResources retrieves all cloudfront.PublicKey items from an AWS CloudFormation template +func (t *Template) GetAllCloudFrontPublicKeyResources() map[string]*cloudfront.PublicKey { + results := map[string]*cloudfront.PublicKey{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudfront.PublicKey: + results[name] = resource + } + } + return results +} + +// GetCloudFrontPublicKeyWithName retrieves all cloudfront.PublicKey items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudFrontPublicKeyWithName(name string) (*cloudfront.PublicKey, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudfront.PublicKey: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudfront.PublicKey not found", name) +} + // GetAllCloudFrontRealtimeLogConfigResources retrieves all cloudfront.RealtimeLogConfig items from an AWS CloudFormation template func (t *Template) GetAllCloudFrontRealtimeLogConfigResources() map[string]*cloudfront.RealtimeLogConfig { results := map[string]*cloudfront.RealtimeLogConfig{} @@ -3467,6 +3774,30 @@ func (t *Template) GetCloudWatchInsightRuleWithName(name string) (*cloudwatch.In return nil, fmt.Errorf("resource %q of type cloudwatch.InsightRule not found", name) } +// GetAllCloudWatchMetricStreamResources retrieves all cloudwatch.MetricStream items from an AWS CloudFormation template +func (t *Template) GetAllCloudWatchMetricStreamResources() map[string]*cloudwatch.MetricStream { + results := map[string]*cloudwatch.MetricStream{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cloudwatch.MetricStream: + results[name] = resource + } + } + return results +} + +// GetCloudWatchMetricStreamWithName retrieves all cloudwatch.MetricStream items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCloudWatchMetricStreamWithName(name string) (*cloudwatch.MetricStream, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cloudwatch.MetricStream: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cloudwatch.MetricStream not found", name) +} + // GetAllCodeArtifactDomainResources retrieves all codeartifact.Domain items from an AWS CloudFormation template func (t *Template) GetAllCodeArtifactDomainResources() map[string]*codeartifact.Domain { results := map[string]*codeartifact.Domain{} @@ -4379,6 +4710,30 @@ func (t *Template) GetConfigRemediationConfigurationWithName(name string) (*conf return nil, fmt.Errorf("resource %q of type config.RemediationConfiguration not found", name) } +// GetAllConfigStoredQueryResources retrieves all config.StoredQuery items from an AWS CloudFormation template +func (t *Template) GetAllConfigStoredQueryResources() map[string]*config.StoredQuery { + results := map[string]*config.StoredQuery{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *config.StoredQuery: + results[name] = resource + } + } + return results +} + +// GetConfigStoredQueryWithName retrieves all config.StoredQuery items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetConfigStoredQueryWithName(name string) (*config.StoredQuery, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *config.StoredQuery: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type config.StoredQuery not found", name) +} + // GetAllDAXClusterResources retrieves all dax.Cluster items from an AWS CloudFormation template func (t *Template) GetAllDAXClusterResources() map[string]*dax.Cluster { results := map[string]*dax.Cluster{} @@ -4619,732 +4974,1092 @@ func (t *Template) GetDMSReplicationTaskWithName(name string) (*dms.ReplicationT return nil, fmt.Errorf("resource %q of type dms.ReplicationTask not found", name) } -// GetAllDataPipelinePipelineResources retrieves all datapipeline.Pipeline items from an AWS CloudFormation template -func (t *Template) GetAllDataPipelinePipelineResources() map[string]*datapipeline.Pipeline { - results := map[string]*datapipeline.Pipeline{} +// GetAllDataBrewDatasetResources retrieves all databrew.Dataset items from an AWS CloudFormation template +func (t *Template) GetAllDataBrewDatasetResources() map[string]*databrew.Dataset { + results := map[string]*databrew.Dataset{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *datapipeline.Pipeline: + case *databrew.Dataset: results[name] = resource } } return results } -// GetDataPipelinePipelineWithName retrieves all datapipeline.Pipeline items from an AWS CloudFormation template +// GetDataBrewDatasetWithName retrieves all databrew.Dataset items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDataPipelinePipelineWithName(name string) (*datapipeline.Pipeline, error) { +func (t *Template) GetDataBrewDatasetWithName(name string) (*databrew.Dataset, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *datapipeline.Pipeline: + case *databrew.Dataset: return resource, nil } } - return nil, fmt.Errorf("resource %q of type datapipeline.Pipeline not found", name) + return nil, fmt.Errorf("resource %q of type databrew.Dataset 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{} +// GetAllDataBrewJobResources retrieves all databrew.Job items from an AWS CloudFormation template +func (t *Template) GetAllDataBrewJobResources() map[string]*databrew.Job { + results := map[string]*databrew.Job{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *detective.Graph: + case *databrew.Job: results[name] = resource } } return results } -// GetDetectiveGraphWithName retrieves all detective.Graph items from an AWS CloudFormation template +// GetDataBrewJobWithName retrieves all databrew.Job 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) { +func (t *Template) GetDataBrewJobWithName(name string) (*databrew.Job, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *detective.Graph: + case *databrew.Job: return resource, nil } } - return nil, fmt.Errorf("resource %q of type detective.Graph not found", name) + return nil, fmt.Errorf("resource %q of type databrew.Job 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{} +// GetAllDataBrewProjectResources retrieves all databrew.Project items from an AWS CloudFormation template +func (t *Template) GetAllDataBrewProjectResources() map[string]*databrew.Project { + results := map[string]*databrew.Project{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *detective.MemberInvitation: + case *databrew.Project: results[name] = resource } } return results } -// GetDetectiveMemberInvitationWithName retrieves all detective.MemberInvitation items from an AWS CloudFormation template +// GetDataBrewProjectWithName retrieves all databrew.Project 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) { +func (t *Template) GetDataBrewProjectWithName(name string) (*databrew.Project, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *detective.MemberInvitation: + case *databrew.Project: return resource, nil } } - return nil, fmt.Errorf("resource %q of type detective.MemberInvitation not found", name) + return nil, fmt.Errorf("resource %q of type databrew.Project 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{} +// GetAllDataBrewRecipeResources retrieves all databrew.Recipe items from an AWS CloudFormation template +func (t *Template) GetAllDataBrewRecipeResources() map[string]*databrew.Recipe { + results := map[string]*databrew.Recipe{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *directoryservice.MicrosoftAD: + case *databrew.Recipe: results[name] = resource } } return results } -// GetDirectoryServiceMicrosoftADWithName retrieves all directoryservice.MicrosoftAD items from an AWS CloudFormation template +// GetDataBrewRecipeWithName retrieves all databrew.Recipe items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDirectoryServiceMicrosoftADWithName(name string) (*directoryservice.MicrosoftAD, error) { +func (t *Template) GetDataBrewRecipeWithName(name string) (*databrew.Recipe, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *directoryservice.MicrosoftAD: + case *databrew.Recipe: return resource, nil } } - return nil, fmt.Errorf("resource %q of type directoryservice.MicrosoftAD not found", name) + return nil, fmt.Errorf("resource %q of type databrew.Recipe not found", name) } -// GetAllDirectoryServiceSimpleADResources retrieves all directoryservice.SimpleAD items from an AWS CloudFormation template -func (t *Template) GetAllDirectoryServiceSimpleADResources() map[string]*directoryservice.SimpleAD { - results := map[string]*directoryservice.SimpleAD{} +// GetAllDataBrewScheduleResources retrieves all databrew.Schedule items from an AWS CloudFormation template +func (t *Template) GetAllDataBrewScheduleResources() map[string]*databrew.Schedule { + results := map[string]*databrew.Schedule{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *directoryservice.SimpleAD: + case *databrew.Schedule: results[name] = resource } } return results } -// GetDirectoryServiceSimpleADWithName retrieves all directoryservice.SimpleAD items from an AWS CloudFormation template +// GetDataBrewScheduleWithName retrieves all databrew.Schedule items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDirectoryServiceSimpleADWithName(name string) (*directoryservice.SimpleAD, error) { +func (t *Template) GetDataBrewScheduleWithName(name string) (*databrew.Schedule, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *directoryservice.SimpleAD: + case *databrew.Schedule: return resource, nil } } - return nil, fmt.Errorf("resource %q of type directoryservice.SimpleAD not found", name) + return nil, fmt.Errorf("resource %q of type databrew.Schedule not found", name) } -// GetAllDocDBDBClusterResources retrieves all docdb.DBCluster items from an AWS CloudFormation template -func (t *Template) GetAllDocDBDBClusterResources() map[string]*docdb.DBCluster { - results := map[string]*docdb.DBCluster{} +// GetAllDataPipelinePipelineResources retrieves all datapipeline.Pipeline items from an AWS CloudFormation template +func (t *Template) GetAllDataPipelinePipelineResources() map[string]*datapipeline.Pipeline { + results := map[string]*datapipeline.Pipeline{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *docdb.DBCluster: + case *datapipeline.Pipeline: results[name] = resource } } return results } -// GetDocDBDBClusterWithName retrieves all docdb.DBCluster items from an AWS CloudFormation template +// GetDataPipelinePipelineWithName retrieves all datapipeline.Pipeline items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDocDBDBClusterWithName(name string) (*docdb.DBCluster, error) { +func (t *Template) GetDataPipelinePipelineWithName(name string) (*datapipeline.Pipeline, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *docdb.DBCluster: + case *datapipeline.Pipeline: return resource, nil } } - return nil, fmt.Errorf("resource %q of type docdb.DBCluster not found", name) + return nil, fmt.Errorf("resource %q of type datapipeline.Pipeline not found", name) } -// GetAllDocDBDBClusterParameterGroupResources retrieves all docdb.DBClusterParameterGroup items from an AWS CloudFormation template -func (t *Template) GetAllDocDBDBClusterParameterGroupResources() map[string]*docdb.DBClusterParameterGroup { - results := map[string]*docdb.DBClusterParameterGroup{} +// GetAllDataSyncAgentResources retrieves all datasync.Agent items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncAgentResources() map[string]*datasync.Agent { + results := map[string]*datasync.Agent{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *docdb.DBClusterParameterGroup: + case *datasync.Agent: results[name] = resource } } return results } -// GetDocDBDBClusterParameterGroupWithName retrieves all docdb.DBClusterParameterGroup items from an AWS CloudFormation template +// GetDataSyncAgentWithName retrieves all datasync.Agent items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDocDBDBClusterParameterGroupWithName(name string) (*docdb.DBClusterParameterGroup, error) { +func (t *Template) GetDataSyncAgentWithName(name string) (*datasync.Agent, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *docdb.DBClusterParameterGroup: + case *datasync.Agent: return resource, nil } } - return nil, fmt.Errorf("resource %q of type docdb.DBClusterParameterGroup not found", name) + return nil, fmt.Errorf("resource %q of type datasync.Agent not found", name) } -// GetAllDocDBDBInstanceResources retrieves all docdb.DBInstance items from an AWS CloudFormation template -func (t *Template) GetAllDocDBDBInstanceResources() map[string]*docdb.DBInstance { - results := map[string]*docdb.DBInstance{} +// GetAllDataSyncLocationEFSResources retrieves all datasync.LocationEFS items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncLocationEFSResources() map[string]*datasync.LocationEFS { + results := map[string]*datasync.LocationEFS{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *docdb.DBInstance: + case *datasync.LocationEFS: results[name] = resource } } return results } -// GetDocDBDBInstanceWithName retrieves all docdb.DBInstance items from an AWS CloudFormation template +// GetDataSyncLocationEFSWithName retrieves all datasync.LocationEFS items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDocDBDBInstanceWithName(name string) (*docdb.DBInstance, error) { +func (t *Template) GetDataSyncLocationEFSWithName(name string) (*datasync.LocationEFS, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *docdb.DBInstance: + case *datasync.LocationEFS: return resource, nil } } - return nil, fmt.Errorf("resource %q of type docdb.DBInstance not found", name) + return nil, fmt.Errorf("resource %q of type datasync.LocationEFS not found", name) } -// GetAllDocDBDBSubnetGroupResources retrieves all docdb.DBSubnetGroup items from an AWS CloudFormation template -func (t *Template) GetAllDocDBDBSubnetGroupResources() map[string]*docdb.DBSubnetGroup { - results := map[string]*docdb.DBSubnetGroup{} +// GetAllDataSyncLocationFSxWindowsResources retrieves all datasync.LocationFSxWindows items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncLocationFSxWindowsResources() map[string]*datasync.LocationFSxWindows { + results := map[string]*datasync.LocationFSxWindows{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *docdb.DBSubnetGroup: + case *datasync.LocationFSxWindows: results[name] = resource } } return results } -// GetDocDBDBSubnetGroupWithName retrieves all docdb.DBSubnetGroup items from an AWS CloudFormation template +// GetDataSyncLocationFSxWindowsWithName retrieves all datasync.LocationFSxWindows items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDocDBDBSubnetGroupWithName(name string) (*docdb.DBSubnetGroup, error) { +func (t *Template) GetDataSyncLocationFSxWindowsWithName(name string) (*datasync.LocationFSxWindows, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *docdb.DBSubnetGroup: + case *datasync.LocationFSxWindows: return resource, nil } } - return nil, fmt.Errorf("resource %q of type docdb.DBSubnetGroup not found", name) + return nil, fmt.Errorf("resource %q of type datasync.LocationFSxWindows not found", name) } -// GetAllDynamoDBTableResources retrieves all dynamodb.Table items from an AWS CloudFormation template -func (t *Template) GetAllDynamoDBTableResources() map[string]*dynamodb.Table { - results := map[string]*dynamodb.Table{} +// GetAllDataSyncLocationNFSResources retrieves all datasync.LocationNFS items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncLocationNFSResources() map[string]*datasync.LocationNFS { + results := map[string]*datasync.LocationNFS{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *dynamodb.Table: + case *datasync.LocationNFS: results[name] = resource } } return results } -// GetDynamoDBTableWithName retrieves all dynamodb.Table items from an AWS CloudFormation template +// GetDataSyncLocationNFSWithName retrieves all datasync.LocationNFS items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetDynamoDBTableWithName(name string) (*dynamodb.Table, error) { +func (t *Template) GetDataSyncLocationNFSWithName(name string) (*datasync.LocationNFS, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *dynamodb.Table: + case *datasync.LocationNFS: return resource, nil } } - return nil, fmt.Errorf("resource %q of type dynamodb.Table not found", name) + return nil, fmt.Errorf("resource %q of type datasync.LocationNFS not found", name) } -// GetAllEC2CapacityReservationResources retrieves all ec2.CapacityReservation items from an AWS CloudFormation template -func (t *Template) GetAllEC2CapacityReservationResources() map[string]*ec2.CapacityReservation { - results := map[string]*ec2.CapacityReservation{} +// GetAllDataSyncLocationObjectStorageResources retrieves all datasync.LocationObjectStorage items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncLocationObjectStorageResources() map[string]*datasync.LocationObjectStorage { + results := map[string]*datasync.LocationObjectStorage{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.CapacityReservation: + case *datasync.LocationObjectStorage: results[name] = resource } } return results } -// GetEC2CapacityReservationWithName retrieves all ec2.CapacityReservation items from an AWS CloudFormation template +// GetDataSyncLocationObjectStorageWithName retrieves all datasync.LocationObjectStorage items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2CapacityReservationWithName(name string) (*ec2.CapacityReservation, error) { +func (t *Template) GetDataSyncLocationObjectStorageWithName(name string) (*datasync.LocationObjectStorage, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.CapacityReservation: + case *datasync.LocationObjectStorage: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.CapacityReservation not found", name) + return nil, fmt.Errorf("resource %q of type datasync.LocationObjectStorage not found", name) } -// GetAllEC2CarrierGatewayResources retrieves all ec2.CarrierGateway items from an AWS CloudFormation template -func (t *Template) GetAllEC2CarrierGatewayResources() map[string]*ec2.CarrierGateway { - results := map[string]*ec2.CarrierGateway{} +// GetAllDataSyncLocationS3Resources retrieves all datasync.LocationS3 items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncLocationS3Resources() map[string]*datasync.LocationS3 { + results := map[string]*datasync.LocationS3{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.CarrierGateway: + case *datasync.LocationS3: results[name] = resource } } return results } -// GetEC2CarrierGatewayWithName retrieves all ec2.CarrierGateway items from an AWS CloudFormation template +// GetDataSyncLocationS3WithName retrieves all datasync.LocationS3 items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2CarrierGatewayWithName(name string) (*ec2.CarrierGateway, error) { +func (t *Template) GetDataSyncLocationS3WithName(name string) (*datasync.LocationS3, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.CarrierGateway: + case *datasync.LocationS3: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.CarrierGateway not found", name) + return nil, fmt.Errorf("resource %q of type datasync.LocationS3 not found", name) } -// GetAllEC2ClientVpnAuthorizationRuleResources retrieves all ec2.ClientVpnAuthorizationRule items from an AWS CloudFormation template -func (t *Template) GetAllEC2ClientVpnAuthorizationRuleResources() map[string]*ec2.ClientVpnAuthorizationRule { - results := map[string]*ec2.ClientVpnAuthorizationRule{} +// GetAllDataSyncLocationSMBResources retrieves all datasync.LocationSMB items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncLocationSMBResources() map[string]*datasync.LocationSMB { + results := map[string]*datasync.LocationSMB{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.ClientVpnAuthorizationRule: + case *datasync.LocationSMB: results[name] = resource } } return results } -// GetEC2ClientVpnAuthorizationRuleWithName retrieves all ec2.ClientVpnAuthorizationRule items from an AWS CloudFormation template +// GetDataSyncLocationSMBWithName retrieves all datasync.LocationSMB items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2ClientVpnAuthorizationRuleWithName(name string) (*ec2.ClientVpnAuthorizationRule, error) { +func (t *Template) GetDataSyncLocationSMBWithName(name string) (*datasync.LocationSMB, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.ClientVpnAuthorizationRule: + case *datasync.LocationSMB: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.ClientVpnAuthorizationRule not found", name) + return nil, fmt.Errorf("resource %q of type datasync.LocationSMB not found", name) } -// GetAllEC2ClientVpnEndpointResources retrieves all ec2.ClientVpnEndpoint items from an AWS CloudFormation template -func (t *Template) GetAllEC2ClientVpnEndpointResources() map[string]*ec2.ClientVpnEndpoint { - results := map[string]*ec2.ClientVpnEndpoint{} +// GetAllDataSyncTaskResources retrieves all datasync.Task items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncTaskResources() map[string]*datasync.Task { + results := map[string]*datasync.Task{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.ClientVpnEndpoint: + case *datasync.Task: results[name] = resource } } return results } -// GetEC2ClientVpnEndpointWithName retrieves all ec2.ClientVpnEndpoint items from an AWS CloudFormation template +// GetDataSyncTaskWithName retrieves all datasync.Task items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2ClientVpnEndpointWithName(name string) (*ec2.ClientVpnEndpoint, error) { +func (t *Template) GetDataSyncTaskWithName(name string) (*datasync.Task, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.ClientVpnEndpoint: + case *datasync.Task: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.ClientVpnEndpoint not found", name) + return nil, fmt.Errorf("resource %q of type datasync.Task not found", name) } -// GetAllEC2ClientVpnRouteResources retrieves all ec2.ClientVpnRoute items from an AWS CloudFormation template -func (t *Template) GetAllEC2ClientVpnRouteResources() map[string]*ec2.ClientVpnRoute { - results := map[string]*ec2.ClientVpnRoute{} +// 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 *ec2.ClientVpnRoute: + case *detective.Graph: results[name] = resource } } return results } -// GetEC2ClientVpnRouteWithName retrieves all ec2.ClientVpnRoute items from an AWS CloudFormation template +// 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) GetEC2ClientVpnRouteWithName(name string) (*ec2.ClientVpnRoute, error) { +func (t *Template) GetDetectiveGraphWithName(name string) (*detective.Graph, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.ClientVpnRoute: + case *detective.Graph: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.ClientVpnRoute not found", name) + return nil, fmt.Errorf("resource %q of type detective.Graph not found", name) } -// GetAllEC2ClientVpnTargetNetworkAssociationResources retrieves all ec2.ClientVpnTargetNetworkAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2ClientVpnTargetNetworkAssociationResources() map[string]*ec2.ClientVpnTargetNetworkAssociation { - results := map[string]*ec2.ClientVpnTargetNetworkAssociation{} +// 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 *ec2.ClientVpnTargetNetworkAssociation: + case *detective.MemberInvitation: results[name] = resource } } return results } -// GetEC2ClientVpnTargetNetworkAssociationWithName retrieves all ec2.ClientVpnTargetNetworkAssociation items from an AWS CloudFormation template +// 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) GetEC2ClientVpnTargetNetworkAssociationWithName(name string) (*ec2.ClientVpnTargetNetworkAssociation, error) { +func (t *Template) GetDetectiveMemberInvitationWithName(name string) (*detective.MemberInvitation, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.ClientVpnTargetNetworkAssociation: + case *detective.MemberInvitation: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.ClientVpnTargetNetworkAssociation not found", name) + return nil, fmt.Errorf("resource %q of type detective.MemberInvitation not found", name) } -// GetAllEC2CustomerGatewayResources retrieves all ec2.CustomerGateway items from an AWS CloudFormation template -func (t *Template) GetAllEC2CustomerGatewayResources() map[string]*ec2.CustomerGateway { - results := map[string]*ec2.CustomerGateway{} +// GetAllDevOpsGuruNotificationChannelResources retrieves all devopsguru.NotificationChannel items from an AWS CloudFormation template +func (t *Template) GetAllDevOpsGuruNotificationChannelResources() map[string]*devopsguru.NotificationChannel { + results := map[string]*devopsguru.NotificationChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.CustomerGateway: + case *devopsguru.NotificationChannel: results[name] = resource } } return results } -// GetEC2CustomerGatewayWithName retrieves all ec2.CustomerGateway items from an AWS CloudFormation template +// GetDevOpsGuruNotificationChannelWithName retrieves all devopsguru.NotificationChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2CustomerGatewayWithName(name string) (*ec2.CustomerGateway, error) { +func (t *Template) GetDevOpsGuruNotificationChannelWithName(name string) (*devopsguru.NotificationChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.CustomerGateway: + case *devopsguru.NotificationChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.CustomerGateway not found", name) + return nil, fmt.Errorf("resource %q of type devopsguru.NotificationChannel not found", name) } -// GetAllEC2DHCPOptionsResources retrieves all ec2.DHCPOptions items from an AWS CloudFormation template -func (t *Template) GetAllEC2DHCPOptionsResources() map[string]*ec2.DHCPOptions { - results := map[string]*ec2.DHCPOptions{} +// GetAllDevOpsGuruResourceCollectionResources retrieves all devopsguru.ResourceCollection items from an AWS CloudFormation template +func (t *Template) GetAllDevOpsGuruResourceCollectionResources() map[string]*devopsguru.ResourceCollection { + results := map[string]*devopsguru.ResourceCollection{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.DHCPOptions: + case *devopsguru.ResourceCollection: results[name] = resource } } return results } -// GetEC2DHCPOptionsWithName retrieves all ec2.DHCPOptions items from an AWS CloudFormation template +// GetDevOpsGuruResourceCollectionWithName retrieves all devopsguru.ResourceCollection items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2DHCPOptionsWithName(name string) (*ec2.DHCPOptions, error) { +func (t *Template) GetDevOpsGuruResourceCollectionWithName(name string) (*devopsguru.ResourceCollection, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.DHCPOptions: + case *devopsguru.ResourceCollection: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.DHCPOptions not found", name) + return nil, fmt.Errorf("resource %q of type devopsguru.ResourceCollection not found", name) } -// GetAllEC2EC2FleetResources retrieves all ec2.EC2Fleet items from an AWS CloudFormation template -func (t *Template) GetAllEC2EC2FleetResources() map[string]*ec2.EC2Fleet { - results := map[string]*ec2.EC2Fleet{} +// GetAllDirectoryServiceMicrosoftADResources retrieves all directoryservice.MicrosoftAD items from an AWS CloudFormation template +func (t *Template) GetAllDirectoryServiceMicrosoftADResources() map[string]*directoryservice.MicrosoftAD { + results := map[string]*directoryservice.MicrosoftAD{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.EC2Fleet: + case *directoryservice.MicrosoftAD: results[name] = resource } } return results } -// GetEC2EC2FleetWithName retrieves all ec2.EC2Fleet items from an AWS CloudFormation template +// GetDirectoryServiceMicrosoftADWithName retrieves all directoryservice.MicrosoftAD items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2EC2FleetWithName(name string) (*ec2.EC2Fleet, error) { +func (t *Template) GetDirectoryServiceMicrosoftADWithName(name string) (*directoryservice.MicrosoftAD, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.EC2Fleet: + case *directoryservice.MicrosoftAD: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.EC2Fleet not found", name) + return nil, fmt.Errorf("resource %q of type directoryservice.MicrosoftAD not found", name) } -// GetAllEC2EIPResources retrieves all ec2.EIP items from an AWS CloudFormation template -func (t *Template) GetAllEC2EIPResources() map[string]*ec2.EIP { - results := map[string]*ec2.EIP{} +// GetAllDirectoryServiceSimpleADResources retrieves all directoryservice.SimpleAD items from an AWS CloudFormation template +func (t *Template) GetAllDirectoryServiceSimpleADResources() map[string]*directoryservice.SimpleAD { + results := map[string]*directoryservice.SimpleAD{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.EIP: + case *directoryservice.SimpleAD: results[name] = resource } } return results } -// GetEC2EIPWithName retrieves all ec2.EIP items from an AWS CloudFormation template +// GetDirectoryServiceSimpleADWithName retrieves all directoryservice.SimpleAD items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2EIPWithName(name string) (*ec2.EIP, error) { +func (t *Template) GetDirectoryServiceSimpleADWithName(name string) (*directoryservice.SimpleAD, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.EIP: + case *directoryservice.SimpleAD: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.EIP not found", name) + return nil, fmt.Errorf("resource %q of type directoryservice.SimpleAD not found", name) } -// GetAllEC2EIPAssociationResources retrieves all ec2.EIPAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2EIPAssociationResources() map[string]*ec2.EIPAssociation { - results := map[string]*ec2.EIPAssociation{} +// GetAllDocDBDBClusterResources retrieves all docdb.DBCluster items from an AWS CloudFormation template +func (t *Template) GetAllDocDBDBClusterResources() map[string]*docdb.DBCluster { + results := map[string]*docdb.DBCluster{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.EIPAssociation: + case *docdb.DBCluster: results[name] = resource } } return results } -// GetEC2EIPAssociationWithName retrieves all ec2.EIPAssociation items from an AWS CloudFormation template +// GetDocDBDBClusterWithName retrieves all docdb.DBCluster items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2EIPAssociationWithName(name string) (*ec2.EIPAssociation, error) { +func (t *Template) GetDocDBDBClusterWithName(name string) (*docdb.DBCluster, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.EIPAssociation: + case *docdb.DBCluster: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.EIPAssociation not found", name) + return nil, fmt.Errorf("resource %q of type docdb.DBCluster not found", name) } -// GetAllEC2EgressOnlyInternetGatewayResources retrieves all ec2.EgressOnlyInternetGateway items from an AWS CloudFormation template -func (t *Template) GetAllEC2EgressOnlyInternetGatewayResources() map[string]*ec2.EgressOnlyInternetGateway { - results := map[string]*ec2.EgressOnlyInternetGateway{} +// GetAllDocDBDBClusterParameterGroupResources retrieves all docdb.DBClusterParameterGroup items from an AWS CloudFormation template +func (t *Template) GetAllDocDBDBClusterParameterGroupResources() map[string]*docdb.DBClusterParameterGroup { + results := map[string]*docdb.DBClusterParameterGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.EgressOnlyInternetGateway: + case *docdb.DBClusterParameterGroup: results[name] = resource } } return results } -// GetEC2EgressOnlyInternetGatewayWithName retrieves all ec2.EgressOnlyInternetGateway items from an AWS CloudFormation template +// GetDocDBDBClusterParameterGroupWithName retrieves all docdb.DBClusterParameterGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2EgressOnlyInternetGatewayWithName(name string) (*ec2.EgressOnlyInternetGateway, error) { +func (t *Template) GetDocDBDBClusterParameterGroupWithName(name string) (*docdb.DBClusterParameterGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.EgressOnlyInternetGateway: + case *docdb.DBClusterParameterGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.EgressOnlyInternetGateway not found", name) + return nil, fmt.Errorf("resource %q of type docdb.DBClusterParameterGroup not found", name) } -// GetAllEC2FlowLogResources retrieves all ec2.FlowLog items from an AWS CloudFormation template -func (t *Template) GetAllEC2FlowLogResources() map[string]*ec2.FlowLog { - results := map[string]*ec2.FlowLog{} +// GetAllDocDBDBInstanceResources retrieves all docdb.DBInstance items from an AWS CloudFormation template +func (t *Template) GetAllDocDBDBInstanceResources() map[string]*docdb.DBInstance { + results := map[string]*docdb.DBInstance{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.FlowLog: + case *docdb.DBInstance: results[name] = resource } } return results } -// GetEC2FlowLogWithName retrieves all ec2.FlowLog items from an AWS CloudFormation template +// GetDocDBDBInstanceWithName retrieves all docdb.DBInstance items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2FlowLogWithName(name string) (*ec2.FlowLog, error) { +func (t *Template) GetDocDBDBInstanceWithName(name string) (*docdb.DBInstance, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.FlowLog: + case *docdb.DBInstance: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.FlowLog not found", name) + return nil, fmt.Errorf("resource %q of type docdb.DBInstance not found", name) } -// GetAllEC2GatewayRouteTableAssociationResources retrieves all ec2.GatewayRouteTableAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2GatewayRouteTableAssociationResources() map[string]*ec2.GatewayRouteTableAssociation { - results := map[string]*ec2.GatewayRouteTableAssociation{} +// GetAllDocDBDBSubnetGroupResources retrieves all docdb.DBSubnetGroup items from an AWS CloudFormation template +func (t *Template) GetAllDocDBDBSubnetGroupResources() map[string]*docdb.DBSubnetGroup { + results := map[string]*docdb.DBSubnetGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.GatewayRouteTableAssociation: + case *docdb.DBSubnetGroup: results[name] = resource } } return results } -// GetEC2GatewayRouteTableAssociationWithName retrieves all ec2.GatewayRouteTableAssociation items from an AWS CloudFormation template +// GetDocDBDBSubnetGroupWithName retrieves all docdb.DBSubnetGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2GatewayRouteTableAssociationWithName(name string) (*ec2.GatewayRouteTableAssociation, error) { +func (t *Template) GetDocDBDBSubnetGroupWithName(name string) (*docdb.DBSubnetGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.GatewayRouteTableAssociation: + case *docdb.DBSubnetGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.GatewayRouteTableAssociation not found", name) + return nil, fmt.Errorf("resource %q of type docdb.DBSubnetGroup not found", name) } -// GetAllEC2HostResources retrieves all ec2.Host items from an AWS CloudFormation template -func (t *Template) GetAllEC2HostResources() map[string]*ec2.Host { - results := map[string]*ec2.Host{} +// GetAllDynamoDBTableResources retrieves all dynamodb.Table items from an AWS CloudFormation template +func (t *Template) GetAllDynamoDBTableResources() map[string]*dynamodb.Table { + results := map[string]*dynamodb.Table{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.Host: + case *dynamodb.Table: results[name] = resource } } return results } -// GetEC2HostWithName retrieves all ec2.Host items from an AWS CloudFormation template +// GetDynamoDBTableWithName retrieves all dynamodb.Table items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2HostWithName(name string) (*ec2.Host, error) { +func (t *Template) GetDynamoDBTableWithName(name string) (*dynamodb.Table, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.Host: + case *dynamodb.Table: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.Host not found", name) + return nil, fmt.Errorf("resource %q of type dynamodb.Table not found", name) } -// GetAllEC2InstanceResources retrieves all ec2.Instance items from an AWS CloudFormation template -func (t *Template) GetAllEC2InstanceResources() map[string]*ec2.Instance { - results := map[string]*ec2.Instance{} +// GetAllEC2CapacityReservationResources retrieves all ec2.CapacityReservation items from an AWS CloudFormation template +func (t *Template) GetAllEC2CapacityReservationResources() map[string]*ec2.CapacityReservation { + results := map[string]*ec2.CapacityReservation{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.Instance: + case *ec2.CapacityReservation: results[name] = resource } } return results } -// GetEC2InstanceWithName retrieves all ec2.Instance items from an AWS CloudFormation template +// GetEC2CapacityReservationWithName retrieves all ec2.CapacityReservation items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2InstanceWithName(name string) (*ec2.Instance, error) { +func (t *Template) GetEC2CapacityReservationWithName(name string) (*ec2.CapacityReservation, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.Instance: + case *ec2.CapacityReservation: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.Instance not found", name) + return nil, fmt.Errorf("resource %q of type ec2.CapacityReservation not found", name) } -// GetAllEC2InternetGatewayResources retrieves all ec2.InternetGateway items from an AWS CloudFormation template -func (t *Template) GetAllEC2InternetGatewayResources() map[string]*ec2.InternetGateway { - results := map[string]*ec2.InternetGateway{} +// GetAllEC2CarrierGatewayResources retrieves all ec2.CarrierGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2CarrierGatewayResources() map[string]*ec2.CarrierGateway { + results := map[string]*ec2.CarrierGateway{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.InternetGateway: + case *ec2.CarrierGateway: results[name] = resource } } return results } -// GetEC2InternetGatewayWithName retrieves all ec2.InternetGateway items from an AWS CloudFormation template +// GetEC2CarrierGatewayWithName retrieves all ec2.CarrierGateway items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2InternetGatewayWithName(name string) (*ec2.InternetGateway, error) { +func (t *Template) GetEC2CarrierGatewayWithName(name string) (*ec2.CarrierGateway, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.InternetGateway: + case *ec2.CarrierGateway: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.InternetGateway not found", name) + return nil, fmt.Errorf("resource %q of type ec2.CarrierGateway not found", name) } -// GetAllEC2LaunchTemplateResources retrieves all ec2.LaunchTemplate items from an AWS CloudFormation template -func (t *Template) GetAllEC2LaunchTemplateResources() map[string]*ec2.LaunchTemplate { - results := map[string]*ec2.LaunchTemplate{} +// GetAllEC2ClientVpnAuthorizationRuleResources retrieves all ec2.ClientVpnAuthorizationRule items from an AWS CloudFormation template +func (t *Template) GetAllEC2ClientVpnAuthorizationRuleResources() map[string]*ec2.ClientVpnAuthorizationRule { + results := map[string]*ec2.ClientVpnAuthorizationRule{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.LaunchTemplate: + case *ec2.ClientVpnAuthorizationRule: results[name] = resource } } return results } -// GetEC2LaunchTemplateWithName retrieves all ec2.LaunchTemplate items from an AWS CloudFormation template +// GetEC2ClientVpnAuthorizationRuleWithName retrieves all ec2.ClientVpnAuthorizationRule items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2LaunchTemplateWithName(name string) (*ec2.LaunchTemplate, error) { +func (t *Template) GetEC2ClientVpnAuthorizationRuleWithName(name string) (*ec2.ClientVpnAuthorizationRule, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.LaunchTemplate: + case *ec2.ClientVpnAuthorizationRule: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.LaunchTemplate not found", name) + return nil, fmt.Errorf("resource %q of type ec2.ClientVpnAuthorizationRule not found", name) } -// GetAllEC2LocalGatewayRouteResources retrieves all ec2.LocalGatewayRoute items from an AWS CloudFormation template -func (t *Template) GetAllEC2LocalGatewayRouteResources() map[string]*ec2.LocalGatewayRoute { - results := map[string]*ec2.LocalGatewayRoute{} +// GetAllEC2ClientVpnEndpointResources retrieves all ec2.ClientVpnEndpoint items from an AWS CloudFormation template +func (t *Template) GetAllEC2ClientVpnEndpointResources() map[string]*ec2.ClientVpnEndpoint { + results := map[string]*ec2.ClientVpnEndpoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.LocalGatewayRoute: + case *ec2.ClientVpnEndpoint: results[name] = resource } } return results } -// GetEC2LocalGatewayRouteWithName retrieves all ec2.LocalGatewayRoute items from an AWS CloudFormation template +// GetEC2ClientVpnEndpointWithName retrieves all ec2.ClientVpnEndpoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2LocalGatewayRouteWithName(name string) (*ec2.LocalGatewayRoute, error) { +func (t *Template) GetEC2ClientVpnEndpointWithName(name string) (*ec2.ClientVpnEndpoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.LocalGatewayRoute: + case *ec2.ClientVpnEndpoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.LocalGatewayRoute not found", name) + return nil, fmt.Errorf("resource %q of type ec2.ClientVpnEndpoint not found", name) } -// GetAllEC2LocalGatewayRouteTableVPCAssociationResources retrieves all ec2.LocalGatewayRouteTableVPCAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2LocalGatewayRouteTableVPCAssociationResources() map[string]*ec2.LocalGatewayRouteTableVPCAssociation { - results := map[string]*ec2.LocalGatewayRouteTableVPCAssociation{} +// GetAllEC2ClientVpnRouteResources retrieves all ec2.ClientVpnRoute items from an AWS CloudFormation template +func (t *Template) GetAllEC2ClientVpnRouteResources() map[string]*ec2.ClientVpnRoute { + results := map[string]*ec2.ClientVpnRoute{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.LocalGatewayRouteTableVPCAssociation: + case *ec2.ClientVpnRoute: results[name] = resource } } return results } -// GetEC2LocalGatewayRouteTableVPCAssociationWithName retrieves all ec2.LocalGatewayRouteTableVPCAssociation items from an AWS CloudFormation template +// GetEC2ClientVpnRouteWithName retrieves all ec2.ClientVpnRoute items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2LocalGatewayRouteTableVPCAssociationWithName(name string) (*ec2.LocalGatewayRouteTableVPCAssociation, error) { +func (t *Template) GetEC2ClientVpnRouteWithName(name string) (*ec2.ClientVpnRoute, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.LocalGatewayRouteTableVPCAssociation: + case *ec2.ClientVpnRoute: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.LocalGatewayRouteTableVPCAssociation not found", name) + return nil, fmt.Errorf("resource %q of type ec2.ClientVpnRoute not found", name) } -// GetAllEC2NatGatewayResources retrieves all ec2.NatGateway items from an AWS CloudFormation template -func (t *Template) GetAllEC2NatGatewayResources() map[string]*ec2.NatGateway { - results := map[string]*ec2.NatGateway{} +// GetAllEC2ClientVpnTargetNetworkAssociationResources retrieves all ec2.ClientVpnTargetNetworkAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2ClientVpnTargetNetworkAssociationResources() map[string]*ec2.ClientVpnTargetNetworkAssociation { + results := map[string]*ec2.ClientVpnTargetNetworkAssociation{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.NatGateway: + case *ec2.ClientVpnTargetNetworkAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2ClientVpnTargetNetworkAssociationWithName retrieves all ec2.ClientVpnTargetNetworkAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2ClientVpnTargetNetworkAssociationWithName(name string) (*ec2.ClientVpnTargetNetworkAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.ClientVpnTargetNetworkAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.ClientVpnTargetNetworkAssociation not found", name) +} + +// GetAllEC2CustomerGatewayResources retrieves all ec2.CustomerGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2CustomerGatewayResources() map[string]*ec2.CustomerGateway { + results := map[string]*ec2.CustomerGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.CustomerGateway: + results[name] = resource + } + } + return results +} + +// GetEC2CustomerGatewayWithName retrieves all ec2.CustomerGateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2CustomerGatewayWithName(name string) (*ec2.CustomerGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.CustomerGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.CustomerGateway not found", name) +} + +// GetAllEC2DHCPOptionsResources retrieves all ec2.DHCPOptions items from an AWS CloudFormation template +func (t *Template) GetAllEC2DHCPOptionsResources() map[string]*ec2.DHCPOptions { + results := map[string]*ec2.DHCPOptions{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.DHCPOptions: + results[name] = resource + } + } + return results +} + +// GetEC2DHCPOptionsWithName retrieves all ec2.DHCPOptions items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2DHCPOptionsWithName(name string) (*ec2.DHCPOptions, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.DHCPOptions: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.DHCPOptions not found", name) +} + +// GetAllEC2EC2FleetResources retrieves all ec2.EC2Fleet items from an AWS CloudFormation template +func (t *Template) GetAllEC2EC2FleetResources() map[string]*ec2.EC2Fleet { + results := map[string]*ec2.EC2Fleet{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.EC2Fleet: + results[name] = resource + } + } + return results +} + +// GetEC2EC2FleetWithName retrieves all ec2.EC2Fleet items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2EC2FleetWithName(name string) (*ec2.EC2Fleet, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.EC2Fleet: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.EC2Fleet not found", name) +} + +// GetAllEC2EIPResources retrieves all ec2.EIP items from an AWS CloudFormation template +func (t *Template) GetAllEC2EIPResources() map[string]*ec2.EIP { + results := map[string]*ec2.EIP{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.EIP: + results[name] = resource + } + } + return results +} + +// GetEC2EIPWithName retrieves all ec2.EIP items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2EIPWithName(name string) (*ec2.EIP, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.EIP: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.EIP not found", name) +} + +// GetAllEC2EIPAssociationResources retrieves all ec2.EIPAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2EIPAssociationResources() map[string]*ec2.EIPAssociation { + results := map[string]*ec2.EIPAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.EIPAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2EIPAssociationWithName retrieves all ec2.EIPAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2EIPAssociationWithName(name string) (*ec2.EIPAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.EIPAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.EIPAssociation not found", name) +} + +// GetAllEC2EgressOnlyInternetGatewayResources retrieves all ec2.EgressOnlyInternetGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2EgressOnlyInternetGatewayResources() map[string]*ec2.EgressOnlyInternetGateway { + results := map[string]*ec2.EgressOnlyInternetGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.EgressOnlyInternetGateway: + results[name] = resource + } + } + return results +} + +// GetEC2EgressOnlyInternetGatewayWithName retrieves all ec2.EgressOnlyInternetGateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2EgressOnlyInternetGatewayWithName(name string) (*ec2.EgressOnlyInternetGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.EgressOnlyInternetGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.EgressOnlyInternetGateway not found", name) +} + +// GetAllEC2FlowLogResources retrieves all ec2.FlowLog items from an AWS CloudFormation template +func (t *Template) GetAllEC2FlowLogResources() map[string]*ec2.FlowLog { + results := map[string]*ec2.FlowLog{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.FlowLog: + results[name] = resource + } + } + return results +} + +// GetEC2FlowLogWithName retrieves all ec2.FlowLog items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2FlowLogWithName(name string) (*ec2.FlowLog, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.FlowLog: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.FlowLog not found", name) +} + +// GetAllEC2GatewayRouteTableAssociationResources retrieves all ec2.GatewayRouteTableAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2GatewayRouteTableAssociationResources() map[string]*ec2.GatewayRouteTableAssociation { + results := map[string]*ec2.GatewayRouteTableAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.GatewayRouteTableAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2GatewayRouteTableAssociationWithName retrieves all ec2.GatewayRouteTableAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2GatewayRouteTableAssociationWithName(name string) (*ec2.GatewayRouteTableAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.GatewayRouteTableAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.GatewayRouteTableAssociation not found", name) +} + +// GetAllEC2HostResources retrieves all ec2.Host items from an AWS CloudFormation template +func (t *Template) GetAllEC2HostResources() map[string]*ec2.Host { + results := map[string]*ec2.Host{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.Host: + results[name] = resource + } + } + return results +} + +// GetEC2HostWithName retrieves all ec2.Host items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2HostWithName(name string) (*ec2.Host, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.Host: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.Host not found", name) +} + +// GetAllEC2InstanceResources retrieves all ec2.Instance items from an AWS CloudFormation template +func (t *Template) GetAllEC2InstanceResources() map[string]*ec2.Instance { + results := map[string]*ec2.Instance{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.Instance: + results[name] = resource + } + } + return results +} + +// GetEC2InstanceWithName retrieves all ec2.Instance items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2InstanceWithName(name string) (*ec2.Instance, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.Instance: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.Instance not found", name) +} + +// GetAllEC2InternetGatewayResources retrieves all ec2.InternetGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2InternetGatewayResources() map[string]*ec2.InternetGateway { + results := map[string]*ec2.InternetGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.InternetGateway: + results[name] = resource + } + } + return results +} + +// GetEC2InternetGatewayWithName retrieves all ec2.InternetGateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2InternetGatewayWithName(name string) (*ec2.InternetGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.InternetGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.InternetGateway not found", name) +} + +// GetAllEC2LaunchTemplateResources retrieves all ec2.LaunchTemplate items from an AWS CloudFormation template +func (t *Template) GetAllEC2LaunchTemplateResources() map[string]*ec2.LaunchTemplate { + results := map[string]*ec2.LaunchTemplate{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.LaunchTemplate: + results[name] = resource + } + } + return results +} + +// GetEC2LaunchTemplateWithName retrieves all ec2.LaunchTemplate items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2LaunchTemplateWithName(name string) (*ec2.LaunchTemplate, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.LaunchTemplate: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.LaunchTemplate not found", name) +} + +// GetAllEC2LocalGatewayRouteResources retrieves all ec2.LocalGatewayRoute items from an AWS CloudFormation template +func (t *Template) GetAllEC2LocalGatewayRouteResources() map[string]*ec2.LocalGatewayRoute { + results := map[string]*ec2.LocalGatewayRoute{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.LocalGatewayRoute: + results[name] = resource + } + } + return results +} + +// GetEC2LocalGatewayRouteWithName retrieves all ec2.LocalGatewayRoute items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2LocalGatewayRouteWithName(name string) (*ec2.LocalGatewayRoute, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.LocalGatewayRoute: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.LocalGatewayRoute not found", name) +} + +// GetAllEC2LocalGatewayRouteTableVPCAssociationResources retrieves all ec2.LocalGatewayRouteTableVPCAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2LocalGatewayRouteTableVPCAssociationResources() map[string]*ec2.LocalGatewayRouteTableVPCAssociation { + results := map[string]*ec2.LocalGatewayRouteTableVPCAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.LocalGatewayRouteTableVPCAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2LocalGatewayRouteTableVPCAssociationWithName retrieves all ec2.LocalGatewayRouteTableVPCAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2LocalGatewayRouteTableVPCAssociationWithName(name string) (*ec2.LocalGatewayRouteTableVPCAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.LocalGatewayRouteTableVPCAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.LocalGatewayRouteTableVPCAssociation not found", name) +} + +// GetAllEC2NatGatewayResources retrieves all ec2.NatGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2NatGatewayResources() map[string]*ec2.NatGateway { + results := map[string]*ec2.NatGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NatGateway: results[name] = resource } } @@ -5353,7934 +6068,10046 @@ func (t *Template) GetAllEC2NatGatewayResources() map[string]*ec2.NatGateway { // GetEC2NatGatewayWithName retrieves all ec2.NatGateway items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2NatGatewayWithName(name string) (*ec2.NatGateway, error) { +func (t *Template) GetEC2NatGatewayWithName(name string) (*ec2.NatGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NatGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NatGateway not found", name) +} + +// GetAllEC2NetworkAclResources retrieves all ec2.NetworkAcl items from an AWS CloudFormation template +func (t *Template) GetAllEC2NetworkAclResources() map[string]*ec2.NetworkAcl { + results := map[string]*ec2.NetworkAcl{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NetworkAcl: + results[name] = resource + } + } + return results +} + +// GetEC2NetworkAclWithName retrieves all ec2.NetworkAcl items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2NetworkAclWithName(name string) (*ec2.NetworkAcl, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NetworkAcl: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NetworkAcl not found", name) +} + +// GetAllEC2NetworkAclEntryResources retrieves all ec2.NetworkAclEntry items from an AWS CloudFormation template +func (t *Template) GetAllEC2NetworkAclEntryResources() map[string]*ec2.NetworkAclEntry { + results := map[string]*ec2.NetworkAclEntry{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NetworkAclEntry: + results[name] = resource + } + } + return results +} + +// GetEC2NetworkAclEntryWithName retrieves all ec2.NetworkAclEntry items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2NetworkAclEntryWithName(name string) (*ec2.NetworkAclEntry, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NetworkAclEntry: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NetworkAclEntry not found", name) +} + +// GetAllEC2NetworkInsightsAnalysisResources retrieves all ec2.NetworkInsightsAnalysis items from an AWS CloudFormation template +func (t *Template) GetAllEC2NetworkInsightsAnalysisResources() map[string]*ec2.NetworkInsightsAnalysis { + results := map[string]*ec2.NetworkInsightsAnalysis{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NetworkInsightsAnalysis: + results[name] = resource + } + } + return results +} + +// GetEC2NetworkInsightsAnalysisWithName retrieves all ec2.NetworkInsightsAnalysis items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2NetworkInsightsAnalysisWithName(name string) (*ec2.NetworkInsightsAnalysis, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NetworkInsightsAnalysis: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NetworkInsightsAnalysis not found", name) +} + +// GetAllEC2NetworkInsightsPathResources retrieves all ec2.NetworkInsightsPath items from an AWS CloudFormation template +func (t *Template) GetAllEC2NetworkInsightsPathResources() map[string]*ec2.NetworkInsightsPath { + results := map[string]*ec2.NetworkInsightsPath{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NetworkInsightsPath: + results[name] = resource + } + } + return results +} + +// GetEC2NetworkInsightsPathWithName retrieves all ec2.NetworkInsightsPath items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2NetworkInsightsPathWithName(name string) (*ec2.NetworkInsightsPath, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NetworkInsightsPath: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NetworkInsightsPath not found", name) +} + +// GetAllEC2NetworkInterfaceResources retrieves all ec2.NetworkInterface items from an AWS CloudFormation template +func (t *Template) GetAllEC2NetworkInterfaceResources() map[string]*ec2.NetworkInterface { + results := map[string]*ec2.NetworkInterface{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NetworkInterface: + results[name] = resource + } + } + return results +} + +// GetEC2NetworkInterfaceWithName retrieves all ec2.NetworkInterface items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2NetworkInterfaceWithName(name string) (*ec2.NetworkInterface, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NetworkInterface: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NetworkInterface not found", name) +} + +// GetAllEC2NetworkInterfaceAttachmentResources retrieves all ec2.NetworkInterfaceAttachment items from an AWS CloudFormation template +func (t *Template) GetAllEC2NetworkInterfaceAttachmentResources() map[string]*ec2.NetworkInterfaceAttachment { + results := map[string]*ec2.NetworkInterfaceAttachment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NetworkInterfaceAttachment: + results[name] = resource + } + } + return results +} + +// GetEC2NetworkInterfaceAttachmentWithName retrieves all ec2.NetworkInterfaceAttachment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2NetworkInterfaceAttachmentWithName(name string) (*ec2.NetworkInterfaceAttachment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NetworkInterfaceAttachment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NetworkInterfaceAttachment not found", name) +} + +// GetAllEC2NetworkInterfacePermissionResources retrieves all ec2.NetworkInterfacePermission items from an AWS CloudFormation template +func (t *Template) GetAllEC2NetworkInterfacePermissionResources() map[string]*ec2.NetworkInterfacePermission { + results := map[string]*ec2.NetworkInterfacePermission{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.NetworkInterfacePermission: + results[name] = resource + } + } + return results +} + +// GetEC2NetworkInterfacePermissionWithName retrieves all ec2.NetworkInterfacePermission items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2NetworkInterfacePermissionWithName(name string) (*ec2.NetworkInterfacePermission, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.NetworkInterfacePermission: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.NetworkInterfacePermission not found", name) +} + +// GetAllEC2PlacementGroupResources retrieves all ec2.PlacementGroup items from an AWS CloudFormation template +func (t *Template) GetAllEC2PlacementGroupResources() map[string]*ec2.PlacementGroup { + results := map[string]*ec2.PlacementGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.PlacementGroup: + results[name] = resource + } + } + return results +} + +// GetEC2PlacementGroupWithName retrieves all ec2.PlacementGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2PlacementGroupWithName(name string) (*ec2.PlacementGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.PlacementGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.PlacementGroup not found", name) +} + +// GetAllEC2PrefixListResources retrieves all ec2.PrefixList items from an AWS CloudFormation template +func (t *Template) GetAllEC2PrefixListResources() map[string]*ec2.PrefixList { + results := map[string]*ec2.PrefixList{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.PrefixList: + results[name] = resource + } + } + return results +} + +// GetEC2PrefixListWithName retrieves all ec2.PrefixList items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2PrefixListWithName(name string) (*ec2.PrefixList, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.PrefixList: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.PrefixList not found", name) +} + +// GetAllEC2RouteResources retrieves all ec2.Route items from an AWS CloudFormation template +func (t *Template) GetAllEC2RouteResources() map[string]*ec2.Route { + results := map[string]*ec2.Route{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.Route: + results[name] = resource + } + } + return results +} + +// GetEC2RouteWithName retrieves all ec2.Route items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2RouteWithName(name string) (*ec2.Route, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.Route: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.Route not found", name) +} + +// GetAllEC2RouteTableResources retrieves all ec2.RouteTable items from an AWS CloudFormation template +func (t *Template) GetAllEC2RouteTableResources() map[string]*ec2.RouteTable { + results := map[string]*ec2.RouteTable{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.RouteTable: + results[name] = resource + } + } + return results +} + +// GetEC2RouteTableWithName retrieves all ec2.RouteTable items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2RouteTableWithName(name string) (*ec2.RouteTable, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.RouteTable: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.RouteTable not found", name) +} + +// GetAllEC2SecurityGroupResources retrieves all ec2.SecurityGroup items from an AWS CloudFormation template +func (t *Template) GetAllEC2SecurityGroupResources() map[string]*ec2.SecurityGroup { + results := map[string]*ec2.SecurityGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SecurityGroup: + results[name] = resource + } + } + return results +} + +// GetEC2SecurityGroupWithName retrieves all ec2.SecurityGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SecurityGroupWithName(name string) (*ec2.SecurityGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SecurityGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SecurityGroup not found", name) +} + +// GetAllEC2SecurityGroupEgressResources retrieves all ec2.SecurityGroupEgress items from an AWS CloudFormation template +func (t *Template) GetAllEC2SecurityGroupEgressResources() map[string]*ec2.SecurityGroupEgress { + results := map[string]*ec2.SecurityGroupEgress{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SecurityGroupEgress: + results[name] = resource + } + } + return results +} + +// GetEC2SecurityGroupEgressWithName retrieves all ec2.SecurityGroupEgress items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SecurityGroupEgressWithName(name string) (*ec2.SecurityGroupEgress, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SecurityGroupEgress: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SecurityGroupEgress not found", name) +} + +// GetAllEC2SecurityGroupIngressResources retrieves all ec2.SecurityGroupIngress items from an AWS CloudFormation template +func (t *Template) GetAllEC2SecurityGroupIngressResources() map[string]*ec2.SecurityGroupIngress { + results := map[string]*ec2.SecurityGroupIngress{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SecurityGroupIngress: + results[name] = resource + } + } + return results +} + +// GetEC2SecurityGroupIngressWithName retrieves all ec2.SecurityGroupIngress items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SecurityGroupIngressWithName(name string) (*ec2.SecurityGroupIngress, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SecurityGroupIngress: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SecurityGroupIngress not found", name) +} + +// GetAllEC2SpotFleetResources retrieves all ec2.SpotFleet items from an AWS CloudFormation template +func (t *Template) GetAllEC2SpotFleetResources() map[string]*ec2.SpotFleet { + results := map[string]*ec2.SpotFleet{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SpotFleet: + results[name] = resource + } + } + return results +} + +// GetEC2SpotFleetWithName retrieves all ec2.SpotFleet items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SpotFleetWithName(name string) (*ec2.SpotFleet, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SpotFleet: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SpotFleet not found", name) +} + +// GetAllEC2SubnetResources retrieves all ec2.Subnet items from an AWS CloudFormation template +func (t *Template) GetAllEC2SubnetResources() map[string]*ec2.Subnet { + results := map[string]*ec2.Subnet{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.Subnet: + results[name] = resource + } + } + return results +} + +// GetEC2SubnetWithName retrieves all ec2.Subnet items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SubnetWithName(name string) (*ec2.Subnet, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.Subnet: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.Subnet not found", name) +} + +// GetAllEC2SubnetCidrBlockResources retrieves all ec2.SubnetCidrBlock items from an AWS CloudFormation template +func (t *Template) GetAllEC2SubnetCidrBlockResources() map[string]*ec2.SubnetCidrBlock { + results := map[string]*ec2.SubnetCidrBlock{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SubnetCidrBlock: + results[name] = resource + } + } + return results +} + +// GetEC2SubnetCidrBlockWithName retrieves all ec2.SubnetCidrBlock items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SubnetCidrBlockWithName(name string) (*ec2.SubnetCidrBlock, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SubnetCidrBlock: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SubnetCidrBlock not found", name) +} + +// GetAllEC2SubnetNetworkAclAssociationResources retrieves all ec2.SubnetNetworkAclAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2SubnetNetworkAclAssociationResources() map[string]*ec2.SubnetNetworkAclAssociation { + results := map[string]*ec2.SubnetNetworkAclAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SubnetNetworkAclAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2SubnetNetworkAclAssociationWithName retrieves all ec2.SubnetNetworkAclAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SubnetNetworkAclAssociationWithName(name string) (*ec2.SubnetNetworkAclAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SubnetNetworkAclAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SubnetNetworkAclAssociation not found", name) +} + +// GetAllEC2SubnetRouteTableAssociationResources retrieves all ec2.SubnetRouteTableAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2SubnetRouteTableAssociationResources() map[string]*ec2.SubnetRouteTableAssociation { + results := map[string]*ec2.SubnetRouteTableAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SubnetRouteTableAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2SubnetRouteTableAssociationWithName retrieves all ec2.SubnetRouteTableAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SubnetRouteTableAssociationWithName(name string) (*ec2.SubnetRouteTableAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SubnetRouteTableAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SubnetRouteTableAssociation not found", name) +} + +// GetAllEC2TrafficMirrorFilterResources retrieves all ec2.TrafficMirrorFilter items from an AWS CloudFormation template +func (t *Template) GetAllEC2TrafficMirrorFilterResources() map[string]*ec2.TrafficMirrorFilter { + results := map[string]*ec2.TrafficMirrorFilter{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorFilter: + results[name] = resource + } + } + return results +} + +// GetEC2TrafficMirrorFilterWithName retrieves all ec2.TrafficMirrorFilter items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TrafficMirrorFilterWithName(name string) (*ec2.TrafficMirrorFilter, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorFilter: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorFilter not found", name) +} + +// GetAllEC2TrafficMirrorFilterRuleResources retrieves all ec2.TrafficMirrorFilterRule items from an AWS CloudFormation template +func (t *Template) GetAllEC2TrafficMirrorFilterRuleResources() map[string]*ec2.TrafficMirrorFilterRule { + results := map[string]*ec2.TrafficMirrorFilterRule{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorFilterRule: + results[name] = resource + } + } + return results +} + +// GetEC2TrafficMirrorFilterRuleWithName retrieves all ec2.TrafficMirrorFilterRule items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TrafficMirrorFilterRuleWithName(name string) (*ec2.TrafficMirrorFilterRule, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorFilterRule: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorFilterRule not found", name) +} + +// GetAllEC2TrafficMirrorSessionResources retrieves all ec2.TrafficMirrorSession items from an AWS CloudFormation template +func (t *Template) GetAllEC2TrafficMirrorSessionResources() map[string]*ec2.TrafficMirrorSession { + results := map[string]*ec2.TrafficMirrorSession{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorSession: + results[name] = resource + } + } + return results +} + +// GetEC2TrafficMirrorSessionWithName retrieves all ec2.TrafficMirrorSession items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TrafficMirrorSessionWithName(name string) (*ec2.TrafficMirrorSession, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorSession: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorSession not found", name) +} + +// GetAllEC2TrafficMirrorTargetResources retrieves all ec2.TrafficMirrorTarget items from an AWS CloudFormation template +func (t *Template) GetAllEC2TrafficMirrorTargetResources() map[string]*ec2.TrafficMirrorTarget { + results := map[string]*ec2.TrafficMirrorTarget{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorTarget: + results[name] = resource + } + } + return results +} + +// GetEC2TrafficMirrorTargetWithName retrieves all ec2.TrafficMirrorTarget items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TrafficMirrorTargetWithName(name string) (*ec2.TrafficMirrorTarget, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TrafficMirrorTarget: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorTarget not found", name) +} + +// GetAllEC2TransitGatewayResources retrieves all ec2.TransitGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayResources() map[string]*ec2.TransitGateway { + results := map[string]*ec2.TransitGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGateway: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayWithName retrieves all ec2.TransitGateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayWithName(name string) (*ec2.TransitGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGateway not found", name) +} + +// GetAllEC2TransitGatewayAttachmentResources retrieves all ec2.TransitGatewayAttachment items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayAttachmentResources() map[string]*ec2.TransitGatewayAttachment { + results := map[string]*ec2.TransitGatewayAttachment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayAttachment: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayAttachmentWithName retrieves all ec2.TransitGatewayAttachment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayAttachmentWithName(name string) (*ec2.TransitGatewayAttachment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayAttachment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayAttachment not found", name) +} + +// GetAllEC2TransitGatewayConnectResources retrieves all ec2.TransitGatewayConnect items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayConnectResources() map[string]*ec2.TransitGatewayConnect { + results := map[string]*ec2.TransitGatewayConnect{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayConnect: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayConnectWithName retrieves all ec2.TransitGatewayConnect items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayConnectWithName(name string) (*ec2.TransitGatewayConnect, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayConnect: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayConnect not found", name) +} + +// GetAllEC2TransitGatewayMulticastDomainResources retrieves all ec2.TransitGatewayMulticastDomain items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayMulticastDomainResources() map[string]*ec2.TransitGatewayMulticastDomain { + results := map[string]*ec2.TransitGatewayMulticastDomain{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastDomain: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayMulticastDomainWithName retrieves all ec2.TransitGatewayMulticastDomain items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayMulticastDomainWithName(name string) (*ec2.TransitGatewayMulticastDomain, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastDomain: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayMulticastDomain not found", name) +} + +// GetAllEC2TransitGatewayMulticastDomainAssociationResources retrieves all ec2.TransitGatewayMulticastDomainAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayMulticastDomainAssociationResources() map[string]*ec2.TransitGatewayMulticastDomainAssociation { + results := map[string]*ec2.TransitGatewayMulticastDomainAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastDomainAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayMulticastDomainAssociationWithName retrieves all ec2.TransitGatewayMulticastDomainAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayMulticastDomainAssociationWithName(name string) (*ec2.TransitGatewayMulticastDomainAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastDomainAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayMulticastDomainAssociation not found", name) +} + +// GetAllEC2TransitGatewayMulticastGroupMemberResources retrieves all ec2.TransitGatewayMulticastGroupMember items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayMulticastGroupMemberResources() map[string]*ec2.TransitGatewayMulticastGroupMember { + results := map[string]*ec2.TransitGatewayMulticastGroupMember{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastGroupMember: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayMulticastGroupMemberWithName retrieves all ec2.TransitGatewayMulticastGroupMember items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayMulticastGroupMemberWithName(name string) (*ec2.TransitGatewayMulticastGroupMember, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastGroupMember: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayMulticastGroupMember not found", name) +} + +// GetAllEC2TransitGatewayMulticastGroupSourceResources retrieves all ec2.TransitGatewayMulticastGroupSource items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayMulticastGroupSourceResources() map[string]*ec2.TransitGatewayMulticastGroupSource { + results := map[string]*ec2.TransitGatewayMulticastGroupSource{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastGroupSource: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayMulticastGroupSourceWithName retrieves all ec2.TransitGatewayMulticastGroupSource items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayMulticastGroupSourceWithName(name string) (*ec2.TransitGatewayMulticastGroupSource, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayMulticastGroupSource: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayMulticastGroupSource not found", name) +} + +// GetAllEC2TransitGatewayRouteResources retrieves all ec2.TransitGatewayRoute items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayRouteResources() map[string]*ec2.TransitGatewayRoute { + results := map[string]*ec2.TransitGatewayRoute{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRoute: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayRouteWithName retrieves all ec2.TransitGatewayRoute items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayRouteWithName(name string) (*ec2.TransitGatewayRoute, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRoute: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRoute not found", name) +} + +// GetAllEC2TransitGatewayRouteTableResources retrieves all ec2.TransitGatewayRouteTable items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayRouteTableResources() map[string]*ec2.TransitGatewayRouteTable { + results := map[string]*ec2.TransitGatewayRouteTable{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRouteTable: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayRouteTableWithName retrieves all ec2.TransitGatewayRouteTable items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayRouteTableWithName(name string) (*ec2.TransitGatewayRouteTable, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRouteTable: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRouteTable not found", name) +} + +// GetAllEC2TransitGatewayRouteTableAssociationResources retrieves all ec2.TransitGatewayRouteTableAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayRouteTableAssociationResources() map[string]*ec2.TransitGatewayRouteTableAssociation { + results := map[string]*ec2.TransitGatewayRouteTableAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRouteTableAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayRouteTableAssociationWithName retrieves all ec2.TransitGatewayRouteTableAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayRouteTableAssociationWithName(name string) (*ec2.TransitGatewayRouteTableAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRouteTableAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRouteTableAssociation not found", name) +} + +// GetAllEC2TransitGatewayRouteTablePropagationResources retrieves all ec2.TransitGatewayRouteTablePropagation items from an AWS CloudFormation template +func (t *Template) GetAllEC2TransitGatewayRouteTablePropagationResources() map[string]*ec2.TransitGatewayRouteTablePropagation { + results := map[string]*ec2.TransitGatewayRouteTablePropagation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRouteTablePropagation: + results[name] = resource + } + } + return results +} + +// GetEC2TransitGatewayRouteTablePropagationWithName retrieves all ec2.TransitGatewayRouteTablePropagation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2TransitGatewayRouteTablePropagationWithName(name string) (*ec2.TransitGatewayRouteTablePropagation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.TransitGatewayRouteTablePropagation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRouteTablePropagation not found", name) +} + +// GetAllEC2VPCResources retrieves all ec2.VPC items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCResources() map[string]*ec2.VPC { + results := map[string]*ec2.VPC{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPC: + results[name] = resource + } + } + return results +} + +// GetEC2VPCWithName retrieves all ec2.VPC items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCWithName(name string) (*ec2.VPC, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPC: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPC not found", name) +} + +// GetAllEC2VPCCidrBlockResources retrieves all ec2.VPCCidrBlock items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCCidrBlockResources() map[string]*ec2.VPCCidrBlock { + results := map[string]*ec2.VPCCidrBlock{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCCidrBlock: + results[name] = resource + } + } + return results +} + +// GetEC2VPCCidrBlockWithName retrieves all ec2.VPCCidrBlock items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCCidrBlockWithName(name string) (*ec2.VPCCidrBlock, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCCidrBlock: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCCidrBlock not found", name) +} + +// GetAllEC2VPCDHCPOptionsAssociationResources retrieves all ec2.VPCDHCPOptionsAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCDHCPOptionsAssociationResources() map[string]*ec2.VPCDHCPOptionsAssociation { + results := map[string]*ec2.VPCDHCPOptionsAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCDHCPOptionsAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2VPCDHCPOptionsAssociationWithName retrieves all ec2.VPCDHCPOptionsAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCDHCPOptionsAssociationWithName(name string) (*ec2.VPCDHCPOptionsAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCDHCPOptionsAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCDHCPOptionsAssociation not found", name) +} + +// GetAllEC2VPCEndpointResources retrieves all ec2.VPCEndpoint items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCEndpointResources() map[string]*ec2.VPCEndpoint { + results := map[string]*ec2.VPCEndpoint{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCEndpoint: + results[name] = resource + } + } + return results +} + +// GetEC2VPCEndpointWithName retrieves all ec2.VPCEndpoint items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCEndpointWithName(name string) (*ec2.VPCEndpoint, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCEndpoint: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCEndpoint not found", name) +} + +// GetAllEC2VPCEndpointConnectionNotificationResources retrieves all ec2.VPCEndpointConnectionNotification items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCEndpointConnectionNotificationResources() map[string]*ec2.VPCEndpointConnectionNotification { + results := map[string]*ec2.VPCEndpointConnectionNotification{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCEndpointConnectionNotification: + results[name] = resource + } + } + return results +} + +// GetEC2VPCEndpointConnectionNotificationWithName retrieves all ec2.VPCEndpointConnectionNotification items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCEndpointConnectionNotificationWithName(name string) (*ec2.VPCEndpointConnectionNotification, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCEndpointConnectionNotification: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCEndpointConnectionNotification not found", name) +} + +// GetAllEC2VPCEndpointServiceResources retrieves all ec2.VPCEndpointService items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCEndpointServiceResources() map[string]*ec2.VPCEndpointService { + results := map[string]*ec2.VPCEndpointService{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCEndpointService: + results[name] = resource + } + } + return results +} + +// GetEC2VPCEndpointServiceWithName retrieves all ec2.VPCEndpointService items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCEndpointServiceWithName(name string) (*ec2.VPCEndpointService, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCEndpointService: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCEndpointService not found", name) +} + +// GetAllEC2VPCEndpointServicePermissionsResources retrieves all ec2.VPCEndpointServicePermissions items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCEndpointServicePermissionsResources() map[string]*ec2.VPCEndpointServicePermissions { + results := map[string]*ec2.VPCEndpointServicePermissions{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCEndpointServicePermissions: + results[name] = resource + } + } + return results +} + +// GetEC2VPCEndpointServicePermissionsWithName retrieves all ec2.VPCEndpointServicePermissions items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCEndpointServicePermissionsWithName(name string) (*ec2.VPCEndpointServicePermissions, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCEndpointServicePermissions: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCEndpointServicePermissions not found", name) +} + +// GetAllEC2VPCGatewayAttachmentResources retrieves all ec2.VPCGatewayAttachment items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCGatewayAttachmentResources() map[string]*ec2.VPCGatewayAttachment { + results := map[string]*ec2.VPCGatewayAttachment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCGatewayAttachment: + results[name] = resource + } + } + return results +} + +// GetEC2VPCGatewayAttachmentWithName retrieves all ec2.VPCGatewayAttachment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCGatewayAttachmentWithName(name string) (*ec2.VPCGatewayAttachment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCGatewayAttachment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCGatewayAttachment not found", name) +} + +// GetAllEC2VPCPeeringConnectionResources retrieves all ec2.VPCPeeringConnection items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPCPeeringConnectionResources() map[string]*ec2.VPCPeeringConnection { + results := map[string]*ec2.VPCPeeringConnection{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPCPeeringConnection: + results[name] = resource + } + } + return results +} + +// GetEC2VPCPeeringConnectionWithName retrieves all ec2.VPCPeeringConnection items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPCPeeringConnectionWithName(name string) (*ec2.VPCPeeringConnection, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPCPeeringConnection: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPCPeeringConnection not found", name) +} + +// GetAllEC2VPNConnectionResources retrieves all ec2.VPNConnection items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPNConnectionResources() map[string]*ec2.VPNConnection { + results := map[string]*ec2.VPNConnection{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPNConnection: + results[name] = resource + } + } + return results +} + +// GetEC2VPNConnectionWithName retrieves all ec2.VPNConnection items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPNConnectionWithName(name string) (*ec2.VPNConnection, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPNConnection: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPNConnection not found", name) +} + +// GetAllEC2VPNConnectionRouteResources retrieves all ec2.VPNConnectionRoute items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPNConnectionRouteResources() map[string]*ec2.VPNConnectionRoute { + results := map[string]*ec2.VPNConnectionRoute{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPNConnectionRoute: + results[name] = resource + } + } + return results +} + +// GetEC2VPNConnectionRouteWithName retrieves all ec2.VPNConnectionRoute items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPNConnectionRouteWithName(name string) (*ec2.VPNConnectionRoute, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPNConnectionRoute: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPNConnectionRoute not found", name) +} + +// GetAllEC2VPNGatewayResources retrieves all ec2.VPNGateway items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPNGatewayResources() map[string]*ec2.VPNGateway { + results := map[string]*ec2.VPNGateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPNGateway: + results[name] = resource + } + } + return results +} + +// GetEC2VPNGatewayWithName retrieves all ec2.VPNGateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPNGatewayWithName(name string) (*ec2.VPNGateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPNGateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPNGateway not found", name) +} + +// GetAllEC2VPNGatewayRoutePropagationResources retrieves all ec2.VPNGatewayRoutePropagation items from an AWS CloudFormation template +func (t *Template) GetAllEC2VPNGatewayRoutePropagationResources() map[string]*ec2.VPNGatewayRoutePropagation { + results := map[string]*ec2.VPNGatewayRoutePropagation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VPNGatewayRoutePropagation: + results[name] = resource + } + } + return results +} + +// GetEC2VPNGatewayRoutePropagationWithName retrieves all ec2.VPNGatewayRoutePropagation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VPNGatewayRoutePropagationWithName(name string) (*ec2.VPNGatewayRoutePropagation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VPNGatewayRoutePropagation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VPNGatewayRoutePropagation not found", name) +} + +// GetAllEC2VolumeResources retrieves all ec2.Volume items from an AWS CloudFormation template +func (t *Template) GetAllEC2VolumeResources() map[string]*ec2.Volume { + results := map[string]*ec2.Volume{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.Volume: + results[name] = resource + } + } + return results +} + +// GetEC2VolumeWithName retrieves all ec2.Volume items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VolumeWithName(name string) (*ec2.Volume, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.Volume: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.Volume not found", name) +} + +// GetAllEC2VolumeAttachmentResources retrieves all ec2.VolumeAttachment items from an AWS CloudFormation template +func (t *Template) GetAllEC2VolumeAttachmentResources() map[string]*ec2.VolumeAttachment { + results := map[string]*ec2.VolumeAttachment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.VolumeAttachment: + results[name] = resource + } + } + return results +} + +// GetEC2VolumeAttachmentWithName retrieves all ec2.VolumeAttachment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2VolumeAttachmentWithName(name string) (*ec2.VolumeAttachment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.VolumeAttachment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.VolumeAttachment not found", name) +} + +// GetAllECRPublicRepositoryResources retrieves all ecr.PublicRepository items from an AWS CloudFormation template +func (t *Template) GetAllECRPublicRepositoryResources() map[string]*ecr.PublicRepository { + results := map[string]*ecr.PublicRepository{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecr.PublicRepository: + results[name] = resource + } + } + return results +} + +// GetECRPublicRepositoryWithName retrieves all ecr.PublicRepository items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECRPublicRepositoryWithName(name string) (*ecr.PublicRepository, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecr.PublicRepository: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecr.PublicRepository not found", name) +} + +// GetAllECRRegistryPolicyResources retrieves all ecr.RegistryPolicy items from an AWS CloudFormation template +func (t *Template) GetAllECRRegistryPolicyResources() map[string]*ecr.RegistryPolicy { + results := map[string]*ecr.RegistryPolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecr.RegistryPolicy: + results[name] = resource + } + } + return results +} + +// GetECRRegistryPolicyWithName retrieves all ecr.RegistryPolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECRRegistryPolicyWithName(name string) (*ecr.RegistryPolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecr.RegistryPolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecr.RegistryPolicy not found", name) +} + +// GetAllECRReplicationConfigurationResources retrieves all ecr.ReplicationConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllECRReplicationConfigurationResources() map[string]*ecr.ReplicationConfiguration { + results := map[string]*ecr.ReplicationConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecr.ReplicationConfiguration: + results[name] = resource + } + } + return results +} + +// GetECRReplicationConfigurationWithName retrieves all ecr.ReplicationConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECRReplicationConfigurationWithName(name string) (*ecr.ReplicationConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecr.ReplicationConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecr.ReplicationConfiguration not found", name) +} + +// GetAllECRRepositoryResources retrieves all ecr.Repository items from an AWS CloudFormation template +func (t *Template) GetAllECRRepositoryResources() map[string]*ecr.Repository { + results := map[string]*ecr.Repository{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecr.Repository: + results[name] = resource + } + } + return results +} + +// GetECRRepositoryWithName retrieves all ecr.Repository items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECRRepositoryWithName(name string) (*ecr.Repository, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecr.Repository: + return resource, nil + } + } + 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{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecs.Cluster: + results[name] = resource + } + } + return results +} + +// GetECSClusterWithName retrieves all ecs.Cluster items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECSClusterWithName(name string) (*ecs.Cluster, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecs.Cluster: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecs.Cluster not found", name) +} + +// GetAllECSPrimaryTaskSetResources retrieves all ecs.PrimaryTaskSet items from an AWS CloudFormation template +func (t *Template) GetAllECSPrimaryTaskSetResources() map[string]*ecs.PrimaryTaskSet { + results := map[string]*ecs.PrimaryTaskSet{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecs.PrimaryTaskSet: + results[name] = resource + } + } + return results +} + +// GetECSPrimaryTaskSetWithName retrieves all ecs.PrimaryTaskSet items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECSPrimaryTaskSetWithName(name string) (*ecs.PrimaryTaskSet, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecs.PrimaryTaskSet: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecs.PrimaryTaskSet not found", name) +} + +// GetAllECSServiceResources retrieves all ecs.Service items from an AWS CloudFormation template +func (t *Template) GetAllECSServiceResources() map[string]*ecs.Service { + results := map[string]*ecs.Service{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecs.Service: + results[name] = resource + } + } + return results +} + +// GetECSServiceWithName retrieves all ecs.Service items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECSServiceWithName(name string) (*ecs.Service, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecs.Service: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecs.Service not found", name) +} + +// GetAllECSTaskDefinitionResources retrieves all ecs.TaskDefinition items from an AWS CloudFormation template +func (t *Template) GetAllECSTaskDefinitionResources() map[string]*ecs.TaskDefinition { + results := map[string]*ecs.TaskDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecs.TaskDefinition: + results[name] = resource + } + } + return results +} + +// GetECSTaskDefinitionWithName retrieves all ecs.TaskDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECSTaskDefinitionWithName(name string) (*ecs.TaskDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecs.TaskDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecs.TaskDefinition not found", name) +} + +// GetAllECSTaskSetResources retrieves all ecs.TaskSet items from an AWS CloudFormation template +func (t *Template) GetAllECSTaskSetResources() map[string]*ecs.TaskSet { + results := map[string]*ecs.TaskSet{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecs.TaskSet: + results[name] = resource + } + } + return results +} + +// GetECSTaskSetWithName retrieves all ecs.TaskSet items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECSTaskSetWithName(name string) (*ecs.TaskSet, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecs.TaskSet: + return resource, nil + } + } + 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{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *efs.FileSystem: + results[name] = resource + } + } + return results +} + +// GetEFSFileSystemWithName retrieves all efs.FileSystem items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEFSFileSystemWithName(name string) (*efs.FileSystem, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *efs.FileSystem: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type efs.FileSystem not found", name) +} + +// GetAllEFSMountTargetResources retrieves all efs.MountTarget items from an AWS CloudFormation template +func (t *Template) GetAllEFSMountTargetResources() map[string]*efs.MountTarget { + results := map[string]*efs.MountTarget{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *efs.MountTarget: + results[name] = resource + } + } + return results +} + +// GetEFSMountTargetWithName retrieves all efs.MountTarget items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEFSMountTargetWithName(name string) (*efs.MountTarget, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *efs.MountTarget: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type efs.MountTarget not found", name) +} + +// GetAllEKSAddonResources retrieves all eks.Addon items from an AWS CloudFormation template +func (t *Template) GetAllEKSAddonResources() map[string]*eks.Addon { + results := map[string]*eks.Addon{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *eks.Addon: + results[name] = resource + } + } + return results +} + +// GetEKSAddonWithName retrieves all eks.Addon items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEKSAddonWithName(name string) (*eks.Addon, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *eks.Addon: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type eks.Addon not found", name) +} + +// GetAllEKSClusterResources retrieves all eks.Cluster items from an AWS CloudFormation template +func (t *Template) GetAllEKSClusterResources() map[string]*eks.Cluster { + results := map[string]*eks.Cluster{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *eks.Cluster: + results[name] = resource + } + } + return results +} + +// GetEKSClusterWithName retrieves all eks.Cluster items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEKSClusterWithName(name string) (*eks.Cluster, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *eks.Cluster: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type eks.Cluster not found", name) +} + +// GetAllEKSFargateProfileResources retrieves all eks.FargateProfile items from an AWS CloudFormation template +func (t *Template) GetAllEKSFargateProfileResources() map[string]*eks.FargateProfile { + results := map[string]*eks.FargateProfile{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *eks.FargateProfile: + results[name] = resource + } + } + return results +} + +// GetEKSFargateProfileWithName retrieves all eks.FargateProfile items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEKSFargateProfileWithName(name string) (*eks.FargateProfile, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *eks.FargateProfile: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type eks.FargateProfile not found", name) +} + +// GetAllEKSNodegroupResources retrieves all eks.Nodegroup items from an AWS CloudFormation template +func (t *Template) GetAllEKSNodegroupResources() map[string]*eks.Nodegroup { + results := map[string]*eks.Nodegroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *eks.Nodegroup: + results[name] = resource + } + } + return results +} + +// GetEKSNodegroupWithName retrieves all eks.Nodegroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEKSNodegroupWithName(name string) (*eks.Nodegroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *eks.Nodegroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type eks.Nodegroup not found", name) +} + +// GetAllEMRClusterResources retrieves all emr.Cluster items from an AWS CloudFormation template +func (t *Template) GetAllEMRClusterResources() map[string]*emr.Cluster { + results := map[string]*emr.Cluster{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emr.Cluster: + results[name] = resource + } + } + return results +} + +// GetEMRClusterWithName retrieves all emr.Cluster items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRClusterWithName(name string) (*emr.Cluster, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emr.Cluster: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emr.Cluster not found", name) +} + +// GetAllEMRInstanceFleetConfigResources retrieves all emr.InstanceFleetConfig items from an AWS CloudFormation template +func (t *Template) GetAllEMRInstanceFleetConfigResources() map[string]*emr.InstanceFleetConfig { + results := map[string]*emr.InstanceFleetConfig{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emr.InstanceFleetConfig: + results[name] = resource + } + } + return results +} + +// GetEMRInstanceFleetConfigWithName retrieves all emr.InstanceFleetConfig items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRInstanceFleetConfigWithName(name string) (*emr.InstanceFleetConfig, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emr.InstanceFleetConfig: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emr.InstanceFleetConfig not found", name) +} + +// GetAllEMRInstanceGroupConfigResources retrieves all emr.InstanceGroupConfig items from an AWS CloudFormation template +func (t *Template) GetAllEMRInstanceGroupConfigResources() map[string]*emr.InstanceGroupConfig { + results := map[string]*emr.InstanceGroupConfig{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emr.InstanceGroupConfig: + results[name] = resource + } + } + return results +} + +// GetEMRInstanceGroupConfigWithName retrieves all emr.InstanceGroupConfig items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRInstanceGroupConfigWithName(name string) (*emr.InstanceGroupConfig, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emr.InstanceGroupConfig: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emr.InstanceGroupConfig not found", name) +} + +// GetAllEMRSecurityConfigurationResources retrieves all emr.SecurityConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllEMRSecurityConfigurationResources() map[string]*emr.SecurityConfiguration { + results := map[string]*emr.SecurityConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emr.SecurityConfiguration: + results[name] = resource + } + } + return results +} + +// GetEMRSecurityConfigurationWithName retrieves all emr.SecurityConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRSecurityConfigurationWithName(name string) (*emr.SecurityConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emr.SecurityConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emr.SecurityConfiguration not found", name) +} + +// GetAllEMRStepResources retrieves all emr.Step items from an AWS CloudFormation template +func (t *Template) GetAllEMRStepResources() map[string]*emr.Step { + results := map[string]*emr.Step{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emr.Step: + results[name] = resource + } + } + return results +} + +// GetEMRStepWithName retrieves all emr.Step items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRStepWithName(name string) (*emr.Step, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emr.Step: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emr.Step not found", name) +} + +// GetAllEMRStudioResources retrieves all emr.Studio items from an AWS CloudFormation template +func (t *Template) GetAllEMRStudioResources() map[string]*emr.Studio { + results := map[string]*emr.Studio{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emr.Studio: + results[name] = resource + } + } + return results +} + +// GetEMRStudioWithName retrieves all emr.Studio items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRStudioWithName(name string) (*emr.Studio, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emr.Studio: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emr.Studio not found", name) +} + +// GetAllEMRStudioSessionMappingResources retrieves all emr.StudioSessionMapping items from an AWS CloudFormation template +func (t *Template) GetAllEMRStudioSessionMappingResources() map[string]*emr.StudioSessionMapping { + results := map[string]*emr.StudioSessionMapping{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emr.StudioSessionMapping: + results[name] = resource + } + } + return results +} + +// GetEMRStudioSessionMappingWithName retrieves all emr.StudioSessionMapping items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRStudioSessionMappingWithName(name string) (*emr.StudioSessionMapping, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emr.StudioSessionMapping: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emr.StudioSessionMapping not found", name) +} + +// GetAllEMRContainersVirtualClusterResources retrieves all emrcontainers.VirtualCluster items from an AWS CloudFormation template +func (t *Template) GetAllEMRContainersVirtualClusterResources() map[string]*emrcontainers.VirtualCluster { + results := map[string]*emrcontainers.VirtualCluster{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *emrcontainers.VirtualCluster: + results[name] = resource + } + } + return results +} + +// GetEMRContainersVirtualClusterWithName retrieves all emrcontainers.VirtualCluster items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEMRContainersVirtualClusterWithName(name string) (*emrcontainers.VirtualCluster, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *emrcontainers.VirtualCluster: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type emrcontainers.VirtualCluster not found", name) +} + +// GetAllElastiCacheCacheClusterResources retrieves all elasticache.CacheCluster items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheCacheClusterResources() map[string]*elasticache.CacheCluster { + results := map[string]*elasticache.CacheCluster{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.CacheCluster: + results[name] = resource + } + } + return results +} + +// GetElastiCacheCacheClusterWithName retrieves all elasticache.CacheCluster items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheCacheClusterWithName(name string) (*elasticache.CacheCluster, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.CacheCluster: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.CacheCluster not found", name) +} + +// GetAllElastiCacheGlobalReplicationGroupResources retrieves all elasticache.GlobalReplicationGroup items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheGlobalReplicationGroupResources() map[string]*elasticache.GlobalReplicationGroup { + results := map[string]*elasticache.GlobalReplicationGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.GlobalReplicationGroup: + results[name] = resource + } + } + return results +} + +// GetElastiCacheGlobalReplicationGroupWithName retrieves all elasticache.GlobalReplicationGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheGlobalReplicationGroupWithName(name string) (*elasticache.GlobalReplicationGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.GlobalReplicationGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.GlobalReplicationGroup not found", name) +} + +// GetAllElastiCacheParameterGroupResources retrieves all elasticache.ParameterGroup items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheParameterGroupResources() map[string]*elasticache.ParameterGroup { + results := map[string]*elasticache.ParameterGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.ParameterGroup: + results[name] = resource + } + } + return results +} + +// GetElastiCacheParameterGroupWithName retrieves all elasticache.ParameterGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheParameterGroupWithName(name string) (*elasticache.ParameterGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.ParameterGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.ParameterGroup not found", name) +} + +// GetAllElastiCacheReplicationGroupResources retrieves all elasticache.ReplicationGroup items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheReplicationGroupResources() map[string]*elasticache.ReplicationGroup { + results := map[string]*elasticache.ReplicationGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.ReplicationGroup: + results[name] = resource + } + } + return results +} + +// GetElastiCacheReplicationGroupWithName retrieves all elasticache.ReplicationGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheReplicationGroupWithName(name string) (*elasticache.ReplicationGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.NatGateway: + case *elasticache.ReplicationGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.NatGateway not found", name) + return nil, fmt.Errorf("resource %q of type elasticache.ReplicationGroup not found", name) } -// GetAllEC2NetworkAclResources retrieves all ec2.NetworkAcl items from an AWS CloudFormation template -func (t *Template) GetAllEC2NetworkAclResources() map[string]*ec2.NetworkAcl { - results := map[string]*ec2.NetworkAcl{} +// GetAllElastiCacheSecurityGroupResources retrieves all elasticache.SecurityGroup items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheSecurityGroupResources() map[string]*elasticache.SecurityGroup { + results := map[string]*elasticache.SecurityGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.NetworkAcl: + case *elasticache.SecurityGroup: results[name] = resource } } return results } -// GetEC2NetworkAclWithName retrieves all ec2.NetworkAcl items from an AWS CloudFormation template +// GetElastiCacheSecurityGroupWithName retrieves all elasticache.SecurityGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2NetworkAclWithName(name string) (*ec2.NetworkAcl, error) { +func (t *Template) GetElastiCacheSecurityGroupWithName(name string) (*elasticache.SecurityGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.NetworkAcl: + case *elasticache.SecurityGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.NetworkAcl not found", name) + return nil, fmt.Errorf("resource %q of type elasticache.SecurityGroup not found", name) } -// GetAllEC2NetworkAclEntryResources retrieves all ec2.NetworkAclEntry items from an AWS CloudFormation template -func (t *Template) GetAllEC2NetworkAclEntryResources() map[string]*ec2.NetworkAclEntry { - results := map[string]*ec2.NetworkAclEntry{} +// GetAllElastiCacheSecurityGroupIngressResources retrieves all elasticache.SecurityGroupIngress items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheSecurityGroupIngressResources() map[string]*elasticache.SecurityGroupIngress { + results := map[string]*elasticache.SecurityGroupIngress{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.NetworkAclEntry: + case *elasticache.SecurityGroupIngress: + results[name] = resource + } + } + return results +} + +// GetElastiCacheSecurityGroupIngressWithName retrieves all elasticache.SecurityGroupIngress items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheSecurityGroupIngressWithName(name string) (*elasticache.SecurityGroupIngress, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.SecurityGroupIngress: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.SecurityGroupIngress not found", name) +} + +// GetAllElastiCacheSubnetGroupResources retrieves all elasticache.SubnetGroup items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheSubnetGroupResources() map[string]*elasticache.SubnetGroup { + results := map[string]*elasticache.SubnetGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.SubnetGroup: + results[name] = resource + } + } + return results +} + +// GetElastiCacheSubnetGroupWithName retrieves all elasticache.SubnetGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheSubnetGroupWithName(name string) (*elasticache.SubnetGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.SubnetGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.SubnetGroup not found", name) +} + +// GetAllElastiCacheUserResources retrieves all elasticache.User items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheUserResources() map[string]*elasticache.User { + results := map[string]*elasticache.User{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.User: + results[name] = resource + } + } + return results +} + +// GetElastiCacheUserWithName retrieves all elasticache.User items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheUserWithName(name string) (*elasticache.User, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.User: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.User not found", name) +} + +// GetAllElastiCacheUserGroupResources retrieves all elasticache.UserGroup items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheUserGroupResources() map[string]*elasticache.UserGroup { + results := map[string]*elasticache.UserGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.UserGroup: + results[name] = resource + } + } + return results +} + +// GetElastiCacheUserGroupWithName retrieves all elasticache.UserGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheUserGroupWithName(name string) (*elasticache.UserGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.UserGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.UserGroup not found", name) +} + +// GetAllElasticBeanstalkApplicationResources retrieves all elasticbeanstalk.Application items from an AWS CloudFormation template +func (t *Template) GetAllElasticBeanstalkApplicationResources() map[string]*elasticbeanstalk.Application { + results := map[string]*elasticbeanstalk.Application{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticbeanstalk.Application: + results[name] = resource + } + } + return results +} + +// GetElasticBeanstalkApplicationWithName retrieves all elasticbeanstalk.Application items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticBeanstalkApplicationWithName(name string) (*elasticbeanstalk.Application, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticbeanstalk.Application: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticbeanstalk.Application not found", name) +} + +// GetAllElasticBeanstalkApplicationVersionResources retrieves all elasticbeanstalk.ApplicationVersion items from an AWS CloudFormation template +func (t *Template) GetAllElasticBeanstalkApplicationVersionResources() map[string]*elasticbeanstalk.ApplicationVersion { + results := map[string]*elasticbeanstalk.ApplicationVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticbeanstalk.ApplicationVersion: + results[name] = resource + } + } + return results +} + +// GetElasticBeanstalkApplicationVersionWithName retrieves all elasticbeanstalk.ApplicationVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticBeanstalkApplicationVersionWithName(name string) (*elasticbeanstalk.ApplicationVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticbeanstalk.ApplicationVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticbeanstalk.ApplicationVersion not found", name) +} + +// GetAllElasticBeanstalkConfigurationTemplateResources retrieves all elasticbeanstalk.ConfigurationTemplate items from an AWS CloudFormation template +func (t *Template) GetAllElasticBeanstalkConfigurationTemplateResources() map[string]*elasticbeanstalk.ConfigurationTemplate { + results := map[string]*elasticbeanstalk.ConfigurationTemplate{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticbeanstalk.ConfigurationTemplate: + results[name] = resource + } + } + return results +} + +// GetElasticBeanstalkConfigurationTemplateWithName retrieves all elasticbeanstalk.ConfigurationTemplate items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticBeanstalkConfigurationTemplateWithName(name string) (*elasticbeanstalk.ConfigurationTemplate, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticbeanstalk.ConfigurationTemplate: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticbeanstalk.ConfigurationTemplate not found", name) +} + +// GetAllElasticBeanstalkEnvironmentResources retrieves all elasticbeanstalk.Environment items from an AWS CloudFormation template +func (t *Template) GetAllElasticBeanstalkEnvironmentResources() map[string]*elasticbeanstalk.Environment { + results := map[string]*elasticbeanstalk.Environment{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticbeanstalk.Environment: + results[name] = resource + } + } + return results +} + +// GetElasticBeanstalkEnvironmentWithName retrieves all elasticbeanstalk.Environment items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticBeanstalkEnvironmentWithName(name string) (*elasticbeanstalk.Environment, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticbeanstalk.Environment: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticbeanstalk.Environment not found", name) +} + +// GetAllElasticLoadBalancingLoadBalancerResources retrieves all elasticloadbalancing.LoadBalancer items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingLoadBalancerResources() map[string]*elasticloadbalancing.LoadBalancer { + results := map[string]*elasticloadbalancing.LoadBalancer{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticloadbalancing.LoadBalancer: + results[name] = resource + } + } + return results +} + +// GetElasticLoadBalancingLoadBalancerWithName retrieves all elasticloadbalancing.LoadBalancer items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticLoadBalancingLoadBalancerWithName(name string) (*elasticloadbalancing.LoadBalancer, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticloadbalancing.LoadBalancer: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticloadbalancing.LoadBalancer not found", name) +} + +// GetAllElasticLoadBalancingV2ListenerResources retrieves all elasticloadbalancingv2.Listener items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingV2ListenerResources() map[string]*elasticloadbalancingv2.Listener { + results := map[string]*elasticloadbalancingv2.Listener{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticloadbalancingv2.Listener: + results[name] = resource + } + } + return results +} + +// GetElasticLoadBalancingV2ListenerWithName retrieves all elasticloadbalancingv2.Listener items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticLoadBalancingV2ListenerWithName(name string) (*elasticloadbalancingv2.Listener, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticloadbalancingv2.Listener: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.Listener not found", name) +} + +// GetAllElasticLoadBalancingV2ListenerCertificateResources retrieves all elasticloadbalancingv2.ListenerCertificate items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingV2ListenerCertificateResources() map[string]*elasticloadbalancingv2.ListenerCertificate { + results := map[string]*elasticloadbalancingv2.ListenerCertificate{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticloadbalancingv2.ListenerCertificate: results[name] = resource } } return results } -// GetEC2NetworkAclEntryWithName retrieves all ec2.NetworkAclEntry items from an AWS CloudFormation template +// GetElasticLoadBalancingV2ListenerCertificateWithName retrieves all elasticloadbalancingv2.ListenerCertificate items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2NetworkAclEntryWithName(name string) (*ec2.NetworkAclEntry, error) { +func (t *Template) GetElasticLoadBalancingV2ListenerCertificateWithName(name string) (*elasticloadbalancingv2.ListenerCertificate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.NetworkAclEntry: + case *elasticloadbalancingv2.ListenerCertificate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.NetworkAclEntry not found", name) + return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.ListenerCertificate not found", name) } -// GetAllEC2NetworkInterfaceResources retrieves all ec2.NetworkInterface items from an AWS CloudFormation template -func (t *Template) GetAllEC2NetworkInterfaceResources() map[string]*ec2.NetworkInterface { - results := map[string]*ec2.NetworkInterface{} +// GetAllElasticLoadBalancingV2ListenerRuleResources retrieves all elasticloadbalancingv2.ListenerRule items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingV2ListenerRuleResources() map[string]*elasticloadbalancingv2.ListenerRule { + results := map[string]*elasticloadbalancingv2.ListenerRule{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.NetworkInterface: + case *elasticloadbalancingv2.ListenerRule: results[name] = resource } } return results } -// GetEC2NetworkInterfaceWithName retrieves all ec2.NetworkInterface items from an AWS CloudFormation template +// GetElasticLoadBalancingV2ListenerRuleWithName retrieves all elasticloadbalancingv2.ListenerRule items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2NetworkInterfaceWithName(name string) (*ec2.NetworkInterface, error) { +func (t *Template) GetElasticLoadBalancingV2ListenerRuleWithName(name string) (*elasticloadbalancingv2.ListenerRule, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.NetworkInterface: + case *elasticloadbalancingv2.ListenerRule: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.NetworkInterface not found", name) + return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.ListenerRule not found", name) } -// GetAllEC2NetworkInterfaceAttachmentResources retrieves all ec2.NetworkInterfaceAttachment items from an AWS CloudFormation template -func (t *Template) GetAllEC2NetworkInterfaceAttachmentResources() map[string]*ec2.NetworkInterfaceAttachment { - results := map[string]*ec2.NetworkInterfaceAttachment{} +// GetAllElasticLoadBalancingV2LoadBalancerResources retrieves all elasticloadbalancingv2.LoadBalancer items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingV2LoadBalancerResources() map[string]*elasticloadbalancingv2.LoadBalancer { + results := map[string]*elasticloadbalancingv2.LoadBalancer{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.NetworkInterfaceAttachment: + case *elasticloadbalancingv2.LoadBalancer: results[name] = resource } } return results } -// GetEC2NetworkInterfaceAttachmentWithName retrieves all ec2.NetworkInterfaceAttachment items from an AWS CloudFormation template +// GetElasticLoadBalancingV2LoadBalancerWithName retrieves all elasticloadbalancingv2.LoadBalancer items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2NetworkInterfaceAttachmentWithName(name string) (*ec2.NetworkInterfaceAttachment, error) { +func (t *Template) GetElasticLoadBalancingV2LoadBalancerWithName(name string) (*elasticloadbalancingv2.LoadBalancer, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.NetworkInterfaceAttachment: + case *elasticloadbalancingv2.LoadBalancer: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.NetworkInterfaceAttachment not found", name) + return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.LoadBalancer not found", name) } -// GetAllEC2NetworkInterfacePermissionResources retrieves all ec2.NetworkInterfacePermission items from an AWS CloudFormation template -func (t *Template) GetAllEC2NetworkInterfacePermissionResources() map[string]*ec2.NetworkInterfacePermission { - results := map[string]*ec2.NetworkInterfacePermission{} +// GetAllElasticLoadBalancingV2TargetGroupResources retrieves all elasticloadbalancingv2.TargetGroup items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingV2TargetGroupResources() map[string]*elasticloadbalancingv2.TargetGroup { + results := map[string]*elasticloadbalancingv2.TargetGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.NetworkInterfacePermission: + case *elasticloadbalancingv2.TargetGroup: results[name] = resource } } return results } -// GetEC2NetworkInterfacePermissionWithName retrieves all ec2.NetworkInterfacePermission items from an AWS CloudFormation template +// GetElasticLoadBalancingV2TargetGroupWithName retrieves all elasticloadbalancingv2.TargetGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2NetworkInterfacePermissionWithName(name string) (*ec2.NetworkInterfacePermission, error) { +func (t *Template) GetElasticLoadBalancingV2TargetGroupWithName(name string) (*elasticloadbalancingv2.TargetGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.NetworkInterfacePermission: + case *elasticloadbalancingv2.TargetGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.NetworkInterfacePermission not found", name) + return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.TargetGroup not found", name) } -// GetAllEC2PlacementGroupResources retrieves all ec2.PlacementGroup items from an AWS CloudFormation template -func (t *Template) GetAllEC2PlacementGroupResources() map[string]*ec2.PlacementGroup { - results := map[string]*ec2.PlacementGroup{} +// GetAllElasticsearchDomainResources retrieves all elasticsearch.Domain items from an AWS CloudFormation template +func (t *Template) GetAllElasticsearchDomainResources() map[string]*elasticsearch.Domain { + results := map[string]*elasticsearch.Domain{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.PlacementGroup: + case *elasticsearch.Domain: results[name] = resource } } return results } -// GetEC2PlacementGroupWithName retrieves all ec2.PlacementGroup items from an AWS CloudFormation template +// GetElasticsearchDomainWithName retrieves all elasticsearch.Domain items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2PlacementGroupWithName(name string) (*ec2.PlacementGroup, error) { +func (t *Template) GetElasticsearchDomainWithName(name string) (*elasticsearch.Domain, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.PlacementGroup: + case *elasticsearch.Domain: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.PlacementGroup not found", name) + return nil, fmt.Errorf("resource %q of type elasticsearch.Domain not found", name) } -// GetAllEC2PrefixListResources retrieves all ec2.PrefixList items from an AWS CloudFormation template -func (t *Template) GetAllEC2PrefixListResources() map[string]*ec2.PrefixList { - results := map[string]*ec2.PrefixList{} +// GetAllEventSchemasDiscovererResources retrieves all eventschemas.Discoverer items from an AWS CloudFormation template +func (t *Template) GetAllEventSchemasDiscovererResources() map[string]*eventschemas.Discoverer { + results := map[string]*eventschemas.Discoverer{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.PrefixList: + case *eventschemas.Discoverer: results[name] = resource } } return results } -// GetEC2PrefixListWithName retrieves all ec2.PrefixList items from an AWS CloudFormation template +// GetEventSchemasDiscovererWithName retrieves all eventschemas.Discoverer items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2PrefixListWithName(name string) (*ec2.PrefixList, error) { +func (t *Template) GetEventSchemasDiscovererWithName(name string) (*eventschemas.Discoverer, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.PrefixList: + case *eventschemas.Discoverer: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.PrefixList not found", name) + return nil, fmt.Errorf("resource %q of type eventschemas.Discoverer not found", name) } -// GetAllEC2RouteResources retrieves all ec2.Route items from an AWS CloudFormation template -func (t *Template) GetAllEC2RouteResources() map[string]*ec2.Route { - results := map[string]*ec2.Route{} +// GetAllEventSchemasRegistryResources retrieves all eventschemas.Registry items from an AWS CloudFormation template +func (t *Template) GetAllEventSchemasRegistryResources() map[string]*eventschemas.Registry { + results := map[string]*eventschemas.Registry{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.Route: + case *eventschemas.Registry: results[name] = resource } } return results } -// GetEC2RouteWithName retrieves all ec2.Route items from an AWS CloudFormation template +// GetEventSchemasRegistryWithName retrieves all eventschemas.Registry items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2RouteWithName(name string) (*ec2.Route, error) { +func (t *Template) GetEventSchemasRegistryWithName(name string) (*eventschemas.Registry, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.Route: + case *eventschemas.Registry: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.Route not found", name) + return nil, fmt.Errorf("resource %q of type eventschemas.Registry not found", name) } -// GetAllEC2RouteTableResources retrieves all ec2.RouteTable items from an AWS CloudFormation template -func (t *Template) GetAllEC2RouteTableResources() map[string]*ec2.RouteTable { - results := map[string]*ec2.RouteTable{} +// 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 *ec2.RouteTable: + case *eventschemas.RegistryPolicy: results[name] = resource } } return results } -// GetEC2RouteTableWithName retrieves all ec2.RouteTable items from an AWS CloudFormation template +// 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) GetEC2RouteTableWithName(name string) (*ec2.RouteTable, error) { +func (t *Template) GetEventSchemasRegistryPolicyWithName(name string) (*eventschemas.RegistryPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.RouteTable: + case *eventschemas.RegistryPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.RouteTable not found", name) + return nil, fmt.Errorf("resource %q of type eventschemas.RegistryPolicy not found", name) } -// GetAllEC2SecurityGroupResources retrieves all ec2.SecurityGroup items from an AWS CloudFormation template -func (t *Template) GetAllEC2SecurityGroupResources() map[string]*ec2.SecurityGroup { - results := map[string]*ec2.SecurityGroup{} +// GetAllEventSchemasSchemaResources retrieves all eventschemas.Schema items from an AWS CloudFormation template +func (t *Template) GetAllEventSchemasSchemaResources() map[string]*eventschemas.Schema { + results := map[string]*eventschemas.Schema{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.SecurityGroup: + case *eventschemas.Schema: results[name] = resource } } return results } -// GetEC2SecurityGroupWithName retrieves all ec2.SecurityGroup items from an AWS CloudFormation template +// GetEventSchemasSchemaWithName retrieves all eventschemas.Schema items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SecurityGroupWithName(name string) (*ec2.SecurityGroup, error) { +func (t *Template) GetEventSchemasSchemaWithName(name string) (*eventschemas.Schema, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.SecurityGroup: + case *eventschemas.Schema: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.SecurityGroup not found", name) + return nil, fmt.Errorf("resource %q of type eventschemas.Schema not found", name) } -// GetAllEC2SecurityGroupEgressResources retrieves all ec2.SecurityGroupEgress items from an AWS CloudFormation template -func (t *Template) GetAllEC2SecurityGroupEgressResources() map[string]*ec2.SecurityGroupEgress { - results := map[string]*ec2.SecurityGroupEgress{} +// GetAllEventsApiDestinationResources retrieves all events.ApiDestination items from an AWS CloudFormation template +func (t *Template) GetAllEventsApiDestinationResources() map[string]*events.ApiDestination { + results := map[string]*events.ApiDestination{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.SecurityGroupEgress: + case *events.ApiDestination: results[name] = resource } } return results } -// GetEC2SecurityGroupEgressWithName retrieves all ec2.SecurityGroupEgress items from an AWS CloudFormation template +// GetEventsApiDestinationWithName retrieves all events.ApiDestination items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SecurityGroupEgressWithName(name string) (*ec2.SecurityGroupEgress, error) { +func (t *Template) GetEventsApiDestinationWithName(name string) (*events.ApiDestination, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.SecurityGroupEgress: + case *events.ApiDestination: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.SecurityGroupEgress not found", name) + return nil, fmt.Errorf("resource %q of type events.ApiDestination not found", name) } -// GetAllEC2SecurityGroupIngressResources retrieves all ec2.SecurityGroupIngress items from an AWS CloudFormation template -func (t *Template) GetAllEC2SecurityGroupIngressResources() map[string]*ec2.SecurityGroupIngress { - results := map[string]*ec2.SecurityGroupIngress{} +// GetAllEventsArchiveResources retrieves all events.Archive items from an AWS CloudFormation template +func (t *Template) GetAllEventsArchiveResources() map[string]*events.Archive { + results := map[string]*events.Archive{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.SecurityGroupIngress: + case *events.Archive: results[name] = resource } } return results } -// GetEC2SecurityGroupIngressWithName retrieves all ec2.SecurityGroupIngress items from an AWS CloudFormation template +// GetEventsArchiveWithName retrieves all events.Archive items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SecurityGroupIngressWithName(name string) (*ec2.SecurityGroupIngress, error) { +func (t *Template) GetEventsArchiveWithName(name string) (*events.Archive, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.SecurityGroupIngress: + case *events.Archive: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.SecurityGroupIngress not found", name) + return nil, fmt.Errorf("resource %q of type events.Archive not found", name) } -// GetAllEC2SpotFleetResources retrieves all ec2.SpotFleet items from an AWS CloudFormation template -func (t *Template) GetAllEC2SpotFleetResources() map[string]*ec2.SpotFleet { - results := map[string]*ec2.SpotFleet{} +// GetAllEventsConnectionResources retrieves all events.Connection items from an AWS CloudFormation template +func (t *Template) GetAllEventsConnectionResources() map[string]*events.Connection { + results := map[string]*events.Connection{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.SpotFleet: + case *events.Connection: results[name] = resource } } return results } -// GetEC2SpotFleetWithName retrieves all ec2.SpotFleet items from an AWS CloudFormation template +// GetEventsConnectionWithName retrieves all events.Connection items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SpotFleetWithName(name string) (*ec2.SpotFleet, error) { +func (t *Template) GetEventsConnectionWithName(name string) (*events.Connection, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.SpotFleet: + case *events.Connection: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.SpotFleet not found", name) + return nil, fmt.Errorf("resource %q of type events.Connection not found", name) } -// GetAllEC2SubnetResources retrieves all ec2.Subnet items from an AWS CloudFormation template -func (t *Template) GetAllEC2SubnetResources() map[string]*ec2.Subnet { - results := map[string]*ec2.Subnet{} +// GetAllEventsEventBusResources retrieves all events.EventBus items from an AWS CloudFormation template +func (t *Template) GetAllEventsEventBusResources() map[string]*events.EventBus { + results := map[string]*events.EventBus{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.Subnet: + case *events.EventBus: results[name] = resource } } return results } -// GetEC2SubnetWithName retrieves all ec2.Subnet items from an AWS CloudFormation template +// GetEventsEventBusWithName retrieves all events.EventBus items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SubnetWithName(name string) (*ec2.Subnet, error) { +func (t *Template) GetEventsEventBusWithName(name string) (*events.EventBus, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.Subnet: + case *events.EventBus: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.Subnet not found", name) + return nil, fmt.Errorf("resource %q of type events.EventBus not found", name) } -// GetAllEC2SubnetCidrBlockResources retrieves all ec2.SubnetCidrBlock items from an AWS CloudFormation template -func (t *Template) GetAllEC2SubnetCidrBlockResources() map[string]*ec2.SubnetCidrBlock { - results := map[string]*ec2.SubnetCidrBlock{} +// GetAllEventsEventBusPolicyResources retrieves all events.EventBusPolicy items from an AWS CloudFormation template +func (t *Template) GetAllEventsEventBusPolicyResources() map[string]*events.EventBusPolicy { + results := map[string]*events.EventBusPolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.SubnetCidrBlock: + case *events.EventBusPolicy: results[name] = resource } } return results } -// GetEC2SubnetCidrBlockWithName retrieves all ec2.SubnetCidrBlock items from an AWS CloudFormation template +// GetEventsEventBusPolicyWithName retrieves all events.EventBusPolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SubnetCidrBlockWithName(name string) (*ec2.SubnetCidrBlock, error) { +func (t *Template) GetEventsEventBusPolicyWithName(name string) (*events.EventBusPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.SubnetCidrBlock: + case *events.EventBusPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.SubnetCidrBlock not found", name) + return nil, fmt.Errorf("resource %q of type events.EventBusPolicy not found", name) } -// GetAllEC2SubnetNetworkAclAssociationResources retrieves all ec2.SubnetNetworkAclAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2SubnetNetworkAclAssociationResources() map[string]*ec2.SubnetNetworkAclAssociation { - results := map[string]*ec2.SubnetNetworkAclAssociation{} +// GetAllEventsRuleResources retrieves all events.Rule items from an AWS CloudFormation template +func (t *Template) GetAllEventsRuleResources() map[string]*events.Rule { + results := map[string]*events.Rule{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.SubnetNetworkAclAssociation: + case *events.Rule: results[name] = resource } } return results } -// GetEC2SubnetNetworkAclAssociationWithName retrieves all ec2.SubnetNetworkAclAssociation items from an AWS CloudFormation template +// GetEventsRuleWithName retrieves all events.Rule items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SubnetNetworkAclAssociationWithName(name string) (*ec2.SubnetNetworkAclAssociation, error) { +func (t *Template) GetEventsRuleWithName(name string) (*events.Rule, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.SubnetNetworkAclAssociation: + case *events.Rule: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.SubnetNetworkAclAssociation not found", name) + return nil, fmt.Errorf("resource %q of type events.Rule not found", name) } -// GetAllEC2SubnetRouteTableAssociationResources retrieves all ec2.SubnetRouteTableAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2SubnetRouteTableAssociationResources() map[string]*ec2.SubnetRouteTableAssociation { - results := map[string]*ec2.SubnetRouteTableAssociation{} +// GetAllFMSNotificationChannelResources retrieves all fms.NotificationChannel items from an AWS CloudFormation template +func (t *Template) GetAllFMSNotificationChannelResources() map[string]*fms.NotificationChannel { + results := map[string]*fms.NotificationChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.SubnetRouteTableAssociation: + case *fms.NotificationChannel: results[name] = resource } } return results } -// GetEC2SubnetRouteTableAssociationWithName retrieves all ec2.SubnetRouteTableAssociation items from an AWS CloudFormation template +// GetFMSNotificationChannelWithName retrieves all fms.NotificationChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2SubnetRouteTableAssociationWithName(name string) (*ec2.SubnetRouteTableAssociation, error) { +func (t *Template) GetFMSNotificationChannelWithName(name string) (*fms.NotificationChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.SubnetRouteTableAssociation: + case *fms.NotificationChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.SubnetRouteTableAssociation not found", name) + return nil, fmt.Errorf("resource %q of type fms.NotificationChannel not found", name) } -// GetAllEC2TrafficMirrorFilterResources retrieves all ec2.TrafficMirrorFilter items from an AWS CloudFormation template -func (t *Template) GetAllEC2TrafficMirrorFilterResources() map[string]*ec2.TrafficMirrorFilter { - results := map[string]*ec2.TrafficMirrorFilter{} +// GetAllFMSPolicyResources retrieves all fms.Policy items from an AWS CloudFormation template +func (t *Template) GetAllFMSPolicyResources() map[string]*fms.Policy { + results := map[string]*fms.Policy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TrafficMirrorFilter: + case *fms.Policy: results[name] = resource } } return results } -// GetEC2TrafficMirrorFilterWithName retrieves all ec2.TrafficMirrorFilter items from an AWS CloudFormation template +// GetFMSPolicyWithName retrieves all fms.Policy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TrafficMirrorFilterWithName(name string) (*ec2.TrafficMirrorFilter, error) { +func (t *Template) GetFMSPolicyWithName(name string) (*fms.Policy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TrafficMirrorFilter: + case *fms.Policy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorFilter not found", name) + return nil, fmt.Errorf("resource %q of type fms.Policy not found", name) } -// GetAllEC2TrafficMirrorFilterRuleResources retrieves all ec2.TrafficMirrorFilterRule items from an AWS CloudFormation template -func (t *Template) GetAllEC2TrafficMirrorFilterRuleResources() map[string]*ec2.TrafficMirrorFilterRule { - results := map[string]*ec2.TrafficMirrorFilterRule{} +// GetAllFSxFileSystemResources retrieves all fsx.FileSystem items from an AWS CloudFormation template +func (t *Template) GetAllFSxFileSystemResources() map[string]*fsx.FileSystem { + results := map[string]*fsx.FileSystem{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TrafficMirrorFilterRule: + case *fsx.FileSystem: results[name] = resource } } return results } -// GetEC2TrafficMirrorFilterRuleWithName retrieves all ec2.TrafficMirrorFilterRule items from an AWS CloudFormation template +// GetFSxFileSystemWithName retrieves all fsx.FileSystem items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TrafficMirrorFilterRuleWithName(name string) (*ec2.TrafficMirrorFilterRule, error) { +func (t *Template) GetFSxFileSystemWithName(name string) (*fsx.FileSystem, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TrafficMirrorFilterRule: + case *fsx.FileSystem: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorFilterRule not found", name) + return nil, fmt.Errorf("resource %q of type fsx.FileSystem not found", name) } -// GetAllEC2TrafficMirrorSessionResources retrieves all ec2.TrafficMirrorSession items from an AWS CloudFormation template -func (t *Template) GetAllEC2TrafficMirrorSessionResources() map[string]*ec2.TrafficMirrorSession { - results := map[string]*ec2.TrafficMirrorSession{} +// GetAllGameLiftAliasResources retrieves all gamelift.Alias items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftAliasResources() map[string]*gamelift.Alias { + results := map[string]*gamelift.Alias{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TrafficMirrorSession: + case *gamelift.Alias: results[name] = resource } } return results } -// GetEC2TrafficMirrorSessionWithName retrieves all ec2.TrafficMirrorSession items from an AWS CloudFormation template +// GetGameLiftAliasWithName retrieves all gamelift.Alias items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TrafficMirrorSessionWithName(name string) (*ec2.TrafficMirrorSession, error) { +func (t *Template) GetGameLiftAliasWithName(name string) (*gamelift.Alias, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TrafficMirrorSession: + case *gamelift.Alias: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorSession not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.Alias not found", name) } -// GetAllEC2TrafficMirrorTargetResources retrieves all ec2.TrafficMirrorTarget items from an AWS CloudFormation template -func (t *Template) GetAllEC2TrafficMirrorTargetResources() map[string]*ec2.TrafficMirrorTarget { - results := map[string]*ec2.TrafficMirrorTarget{} +// GetAllGameLiftBuildResources retrieves all gamelift.Build items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftBuildResources() map[string]*gamelift.Build { + results := map[string]*gamelift.Build{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TrafficMirrorTarget: + case *gamelift.Build: results[name] = resource } } return results } -// GetEC2TrafficMirrorTargetWithName retrieves all ec2.TrafficMirrorTarget items from an AWS CloudFormation template +// GetGameLiftBuildWithName retrieves all gamelift.Build items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TrafficMirrorTargetWithName(name string) (*ec2.TrafficMirrorTarget, error) { +func (t *Template) GetGameLiftBuildWithName(name string) (*gamelift.Build, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TrafficMirrorTarget: + case *gamelift.Build: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TrafficMirrorTarget not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.Build not found", name) } -// GetAllEC2TransitGatewayResources retrieves all ec2.TransitGateway items from an AWS CloudFormation template -func (t *Template) GetAllEC2TransitGatewayResources() map[string]*ec2.TransitGateway { - results := map[string]*ec2.TransitGateway{} +// GetAllGameLiftFleetResources retrieves all gamelift.Fleet items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftFleetResources() map[string]*gamelift.Fleet { + results := map[string]*gamelift.Fleet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TransitGateway: + case *gamelift.Fleet: results[name] = resource } } return results } -// GetEC2TransitGatewayWithName retrieves all ec2.TransitGateway items from an AWS CloudFormation template +// GetGameLiftFleetWithName retrieves all gamelift.Fleet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TransitGatewayWithName(name string) (*ec2.TransitGateway, error) { +func (t *Template) GetGameLiftFleetWithName(name string) (*gamelift.Fleet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TransitGateway: + case *gamelift.Fleet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TransitGateway not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.Fleet not found", name) } -// GetAllEC2TransitGatewayAttachmentResources retrieves all ec2.TransitGatewayAttachment items from an AWS CloudFormation template -func (t *Template) GetAllEC2TransitGatewayAttachmentResources() map[string]*ec2.TransitGatewayAttachment { - results := map[string]*ec2.TransitGatewayAttachment{} +// GetAllGameLiftGameServerGroupResources retrieves all gamelift.GameServerGroup items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftGameServerGroupResources() map[string]*gamelift.GameServerGroup { + results := map[string]*gamelift.GameServerGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TransitGatewayAttachment: + case *gamelift.GameServerGroup: results[name] = resource } } return results } -// GetEC2TransitGatewayAttachmentWithName retrieves all ec2.TransitGatewayAttachment items from an AWS CloudFormation template +// GetGameLiftGameServerGroupWithName retrieves all gamelift.GameServerGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TransitGatewayAttachmentWithName(name string) (*ec2.TransitGatewayAttachment, error) { +func (t *Template) GetGameLiftGameServerGroupWithName(name string) (*gamelift.GameServerGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TransitGatewayAttachment: + case *gamelift.GameServerGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayAttachment not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.GameServerGroup not found", name) } -// GetAllEC2TransitGatewayRouteResources retrieves all ec2.TransitGatewayRoute items from an AWS CloudFormation template -func (t *Template) GetAllEC2TransitGatewayRouteResources() map[string]*ec2.TransitGatewayRoute { - results := map[string]*ec2.TransitGatewayRoute{} +// GetAllGameLiftGameSessionQueueResources retrieves all gamelift.GameSessionQueue items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftGameSessionQueueResources() map[string]*gamelift.GameSessionQueue { + results := map[string]*gamelift.GameSessionQueue{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TransitGatewayRoute: + case *gamelift.GameSessionQueue: results[name] = resource } } return results } -// GetEC2TransitGatewayRouteWithName retrieves all ec2.TransitGatewayRoute items from an AWS CloudFormation template +// GetGameLiftGameSessionQueueWithName retrieves all gamelift.GameSessionQueue items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TransitGatewayRouteWithName(name string) (*ec2.TransitGatewayRoute, error) { +func (t *Template) GetGameLiftGameSessionQueueWithName(name string) (*gamelift.GameSessionQueue, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TransitGatewayRoute: + case *gamelift.GameSessionQueue: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRoute not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.GameSessionQueue not found", name) } -// GetAllEC2TransitGatewayRouteTableResources retrieves all ec2.TransitGatewayRouteTable items from an AWS CloudFormation template -func (t *Template) GetAllEC2TransitGatewayRouteTableResources() map[string]*ec2.TransitGatewayRouteTable { - results := map[string]*ec2.TransitGatewayRouteTable{} +// GetAllGameLiftMatchmakingConfigurationResources retrieves all gamelift.MatchmakingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftMatchmakingConfigurationResources() map[string]*gamelift.MatchmakingConfiguration { + results := map[string]*gamelift.MatchmakingConfiguration{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TransitGatewayRouteTable: + case *gamelift.MatchmakingConfiguration: results[name] = resource } } return results } -// GetEC2TransitGatewayRouteTableWithName retrieves all ec2.TransitGatewayRouteTable items from an AWS CloudFormation template +// GetGameLiftMatchmakingConfigurationWithName retrieves all gamelift.MatchmakingConfiguration items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TransitGatewayRouteTableWithName(name string) (*ec2.TransitGatewayRouteTable, error) { +func (t *Template) GetGameLiftMatchmakingConfigurationWithName(name string) (*gamelift.MatchmakingConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TransitGatewayRouteTable: + case *gamelift.MatchmakingConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRouteTable not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.MatchmakingConfiguration not found", name) } -// GetAllEC2TransitGatewayRouteTableAssociationResources retrieves all ec2.TransitGatewayRouteTableAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2TransitGatewayRouteTableAssociationResources() map[string]*ec2.TransitGatewayRouteTableAssociation { - results := map[string]*ec2.TransitGatewayRouteTableAssociation{} +// GetAllGameLiftMatchmakingRuleSetResources retrieves all gamelift.MatchmakingRuleSet items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftMatchmakingRuleSetResources() map[string]*gamelift.MatchmakingRuleSet { + results := map[string]*gamelift.MatchmakingRuleSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TransitGatewayRouteTableAssociation: + case *gamelift.MatchmakingRuleSet: results[name] = resource } } return results } -// GetEC2TransitGatewayRouteTableAssociationWithName retrieves all ec2.TransitGatewayRouteTableAssociation items from an AWS CloudFormation template +// GetGameLiftMatchmakingRuleSetWithName retrieves all gamelift.MatchmakingRuleSet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TransitGatewayRouteTableAssociationWithName(name string) (*ec2.TransitGatewayRouteTableAssociation, error) { +func (t *Template) GetGameLiftMatchmakingRuleSetWithName(name string) (*gamelift.MatchmakingRuleSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TransitGatewayRouteTableAssociation: + case *gamelift.MatchmakingRuleSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRouteTableAssociation not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.MatchmakingRuleSet not found", name) } -// GetAllEC2TransitGatewayRouteTablePropagationResources retrieves all ec2.TransitGatewayRouteTablePropagation items from an AWS CloudFormation template -func (t *Template) GetAllEC2TransitGatewayRouteTablePropagationResources() map[string]*ec2.TransitGatewayRouteTablePropagation { - results := map[string]*ec2.TransitGatewayRouteTablePropagation{} +// GetAllGameLiftScriptResources retrieves all gamelift.Script items from an AWS CloudFormation template +func (t *Template) GetAllGameLiftScriptResources() map[string]*gamelift.Script { + results := map[string]*gamelift.Script{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.TransitGatewayRouteTablePropagation: + case *gamelift.Script: results[name] = resource } } return results } -// GetEC2TransitGatewayRouteTablePropagationWithName retrieves all ec2.TransitGatewayRouteTablePropagation items from an AWS CloudFormation template +// GetGameLiftScriptWithName retrieves all gamelift.Script items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2TransitGatewayRouteTablePropagationWithName(name string) (*ec2.TransitGatewayRouteTablePropagation, error) { +func (t *Template) GetGameLiftScriptWithName(name string) (*gamelift.Script, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.TransitGatewayRouteTablePropagation: + case *gamelift.Script: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.TransitGatewayRouteTablePropagation not found", name) + return nil, fmt.Errorf("resource %q of type gamelift.Script not found", name) } -// GetAllEC2VPCResources retrieves all ec2.VPC items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCResources() map[string]*ec2.VPC { - results := map[string]*ec2.VPC{} +// 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 *ec2.VPC: + case *globalaccelerator.Accelerator: results[name] = resource } } return results } -// GetEC2VPCWithName retrieves all ec2.VPC 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) GetEC2VPCWithName(name string) (*ec2.VPC, error) { +func (t *Template) GetGlobalAcceleratorAcceleratorWithName(name string) (*globalaccelerator.Accelerator, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPC: + case *globalaccelerator.Accelerator: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPC not found", name) + return nil, fmt.Errorf("resource %q of type globalaccelerator.Accelerator not found", name) } -// GetAllEC2VPCCidrBlockResources retrieves all ec2.VPCCidrBlock items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCCidrBlockResources() map[string]*ec2.VPCCidrBlock { - results := map[string]*ec2.VPCCidrBlock{} +// 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 *ec2.VPCCidrBlock: + case *globalaccelerator.EndpointGroup: results[name] = resource } } return results } -// GetEC2VPCCidrBlockWithName retrieves all ec2.VPCCidrBlock 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) GetEC2VPCCidrBlockWithName(name string) (*ec2.VPCCidrBlock, error) { +func (t *Template) GetGlobalAcceleratorEndpointGroupWithName(name string) (*globalaccelerator.EndpointGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCCidrBlock: + case *globalaccelerator.EndpointGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCCidrBlock not found", name) + return nil, fmt.Errorf("resource %q of type globalaccelerator.EndpointGroup not found", name) } -// GetAllEC2VPCDHCPOptionsAssociationResources retrieves all ec2.VPCDHCPOptionsAssociation items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCDHCPOptionsAssociationResources() map[string]*ec2.VPCDHCPOptionsAssociation { - results := map[string]*ec2.VPCDHCPOptionsAssociation{} +// 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 *ec2.VPCDHCPOptionsAssociation: + case *globalaccelerator.Listener: results[name] = resource } } return results } -// GetEC2VPCDHCPOptionsAssociationWithName retrieves all ec2.VPCDHCPOptionsAssociation 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) GetEC2VPCDHCPOptionsAssociationWithName(name string) (*ec2.VPCDHCPOptionsAssociation, error) { +func (t *Template) GetGlobalAcceleratorListenerWithName(name string) (*globalaccelerator.Listener, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCDHCPOptionsAssociation: + case *globalaccelerator.Listener: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCDHCPOptionsAssociation not found", name) + return nil, fmt.Errorf("resource %q of type globalaccelerator.Listener not found", name) } -// GetAllEC2VPCEndpointResources retrieves all ec2.VPCEndpoint items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCEndpointResources() map[string]*ec2.VPCEndpoint { - results := map[string]*ec2.VPCEndpoint{} +// 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 *ec2.VPCEndpoint: + case *glue.Classifier: results[name] = resource } } return results } -// GetEC2VPCEndpointWithName retrieves all ec2.VPCEndpoint items from an AWS CloudFormation template +// 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) GetEC2VPCEndpointWithName(name string) (*ec2.VPCEndpoint, error) { +func (t *Template) GetGlueClassifierWithName(name string) (*glue.Classifier, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCEndpoint: + case *glue.Classifier: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCEndpoint not found", name) + return nil, fmt.Errorf("resource %q of type glue.Classifier not found", name) } -// GetAllEC2VPCEndpointConnectionNotificationResources retrieves all ec2.VPCEndpointConnectionNotification items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCEndpointConnectionNotificationResources() map[string]*ec2.VPCEndpointConnectionNotification { - results := map[string]*ec2.VPCEndpointConnectionNotification{} +// 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 *ec2.VPCEndpointConnectionNotification: + case *glue.Connection: results[name] = resource } } return results } -// GetEC2VPCEndpointConnectionNotificationWithName retrieves all ec2.VPCEndpointConnectionNotification items from an AWS CloudFormation template +// 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) GetEC2VPCEndpointConnectionNotificationWithName(name string) (*ec2.VPCEndpointConnectionNotification, error) { +func (t *Template) GetGlueConnectionWithName(name string) (*glue.Connection, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCEndpointConnectionNotification: + case *glue.Connection: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCEndpointConnectionNotification not found", name) + return nil, fmt.Errorf("resource %q of type glue.Connection not found", name) } -// GetAllEC2VPCEndpointServiceResources retrieves all ec2.VPCEndpointService items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCEndpointServiceResources() map[string]*ec2.VPCEndpointService { - results := map[string]*ec2.VPCEndpointService{} +// 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 *ec2.VPCEndpointService: + case *glue.Crawler: results[name] = resource } } return results } -// GetEC2VPCEndpointServiceWithName retrieves all ec2.VPCEndpointService items from an AWS CloudFormation template +// 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) GetEC2VPCEndpointServiceWithName(name string) (*ec2.VPCEndpointService, error) { +func (t *Template) GetGlueCrawlerWithName(name string) (*glue.Crawler, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCEndpointService: + case *glue.Crawler: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCEndpointService not found", name) + return nil, fmt.Errorf("resource %q of type glue.Crawler not found", name) } -// GetAllEC2VPCEndpointServicePermissionsResources retrieves all ec2.VPCEndpointServicePermissions items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCEndpointServicePermissionsResources() map[string]*ec2.VPCEndpointServicePermissions { - results := map[string]*ec2.VPCEndpointServicePermissions{} +// 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 *ec2.VPCEndpointServicePermissions: + case *glue.DataCatalogEncryptionSettings: results[name] = resource } } return results } -// GetEC2VPCEndpointServicePermissionsWithName retrieves all ec2.VPCEndpointServicePermissions items from an AWS CloudFormation template +// GetGlueDataCatalogEncryptionSettingsWithName retrieves all glue.DataCatalogEncryptionSettings items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VPCEndpointServicePermissionsWithName(name string) (*ec2.VPCEndpointServicePermissions, error) { +func (t *Template) GetGlueDataCatalogEncryptionSettingsWithName(name string) (*glue.DataCatalogEncryptionSettings, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCEndpointServicePermissions: + case *glue.DataCatalogEncryptionSettings: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCEndpointServicePermissions not found", name) + return nil, fmt.Errorf("resource %q of type glue.DataCatalogEncryptionSettings not found", name) } -// GetAllEC2VPCGatewayAttachmentResources retrieves all ec2.VPCGatewayAttachment items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCGatewayAttachmentResources() map[string]*ec2.VPCGatewayAttachment { - results := map[string]*ec2.VPCGatewayAttachment{} +// GetAllGlueDatabaseResources retrieves all glue.Database items from an AWS CloudFormation template +func (t *Template) GetAllGlueDatabaseResources() map[string]*glue.Database { + results := map[string]*glue.Database{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.VPCGatewayAttachment: + case *glue.Database: results[name] = resource } } return results } -// GetEC2VPCGatewayAttachmentWithName retrieves all ec2.VPCGatewayAttachment items from an AWS CloudFormation template +// GetGlueDatabaseWithName retrieves all glue.Database items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VPCGatewayAttachmentWithName(name string) (*ec2.VPCGatewayAttachment, error) { +func (t *Template) GetGlueDatabaseWithName(name string) (*glue.Database, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCGatewayAttachment: + case *glue.Database: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCGatewayAttachment not found", name) + return nil, fmt.Errorf("resource %q of type glue.Database not found", name) } -// GetAllEC2VPCPeeringConnectionResources retrieves all ec2.VPCPeeringConnection items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPCPeeringConnectionResources() map[string]*ec2.VPCPeeringConnection { - results := map[string]*ec2.VPCPeeringConnection{} +// GetAllGlueDevEndpointResources retrieves all glue.DevEndpoint items from an AWS CloudFormation template +func (t *Template) GetAllGlueDevEndpointResources() map[string]*glue.DevEndpoint { + results := map[string]*glue.DevEndpoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.VPCPeeringConnection: + case *glue.DevEndpoint: results[name] = resource } } return results } -// GetEC2VPCPeeringConnectionWithName retrieves all ec2.VPCPeeringConnection items from an AWS CloudFormation template +// GetGlueDevEndpointWithName retrieves all glue.DevEndpoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VPCPeeringConnectionWithName(name string) (*ec2.VPCPeeringConnection, error) { +func (t *Template) GetGlueDevEndpointWithName(name string) (*glue.DevEndpoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPCPeeringConnection: + case *glue.DevEndpoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPCPeeringConnection not found", name) + return nil, fmt.Errorf("resource %q of type glue.DevEndpoint not found", name) } -// GetAllEC2VPNConnectionResources retrieves all ec2.VPNConnection items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPNConnectionResources() map[string]*ec2.VPNConnection { - results := map[string]*ec2.VPNConnection{} +// GetAllGlueJobResources retrieves all glue.Job items from an AWS CloudFormation template +func (t *Template) GetAllGlueJobResources() map[string]*glue.Job { + results := map[string]*glue.Job{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.VPNConnection: + case *glue.Job: results[name] = resource } } return results } -// GetEC2VPNConnectionWithName retrieves all ec2.VPNConnection items from an AWS CloudFormation template +// GetGlueJobWithName retrieves all glue.Job items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VPNConnectionWithName(name string) (*ec2.VPNConnection, error) { +func (t *Template) GetGlueJobWithName(name string) (*glue.Job, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPNConnection: + case *glue.Job: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPNConnection not found", name) + return nil, fmt.Errorf("resource %q of type glue.Job not found", name) } -// GetAllEC2VPNConnectionRouteResources retrieves all ec2.VPNConnectionRoute items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPNConnectionRouteResources() map[string]*ec2.VPNConnectionRoute { - results := map[string]*ec2.VPNConnectionRoute{} +// GetAllGlueMLTransformResources retrieves all glue.MLTransform items from an AWS CloudFormation template +func (t *Template) GetAllGlueMLTransformResources() map[string]*glue.MLTransform { + results := map[string]*glue.MLTransform{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.VPNConnectionRoute: + case *glue.MLTransform: results[name] = resource } } return results } -// GetEC2VPNConnectionRouteWithName retrieves all ec2.VPNConnectionRoute items from an AWS CloudFormation template +// GetGlueMLTransformWithName retrieves all glue.MLTransform items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VPNConnectionRouteWithName(name string) (*ec2.VPNConnectionRoute, error) { +func (t *Template) GetGlueMLTransformWithName(name string) (*glue.MLTransform, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPNConnectionRoute: + case *glue.MLTransform: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPNConnectionRoute not found", name) + return nil, fmt.Errorf("resource %q of type glue.MLTransform not found", name) } -// GetAllEC2VPNGatewayResources retrieves all ec2.VPNGateway items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPNGatewayResources() map[string]*ec2.VPNGateway { - results := map[string]*ec2.VPNGateway{} +// GetAllGluePartitionResources retrieves all glue.Partition items from an AWS CloudFormation template +func (t *Template) GetAllGluePartitionResources() map[string]*glue.Partition { + results := map[string]*glue.Partition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.VPNGateway: + case *glue.Partition: results[name] = resource } } return results } -// GetEC2VPNGatewayWithName retrieves all ec2.VPNGateway items from an AWS CloudFormation template +// GetGluePartitionWithName retrieves all glue.Partition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VPNGatewayWithName(name string) (*ec2.VPNGateway, error) { +func (t *Template) GetGluePartitionWithName(name string) (*glue.Partition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPNGateway: + case *glue.Partition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPNGateway not found", name) + return nil, fmt.Errorf("resource %q of type glue.Partition not found", name) } -// GetAllEC2VPNGatewayRoutePropagationResources retrieves all ec2.VPNGatewayRoutePropagation items from an AWS CloudFormation template -func (t *Template) GetAllEC2VPNGatewayRoutePropagationResources() map[string]*ec2.VPNGatewayRoutePropagation { - results := map[string]*ec2.VPNGatewayRoutePropagation{} +// GetAllGlueRegistryResources retrieves all glue.Registry items from an AWS CloudFormation template +func (t *Template) GetAllGlueRegistryResources() map[string]*glue.Registry { + results := map[string]*glue.Registry{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.VPNGatewayRoutePropagation: + case *glue.Registry: results[name] = resource } } return results } -// GetEC2VPNGatewayRoutePropagationWithName retrieves all ec2.VPNGatewayRoutePropagation items from an AWS CloudFormation template +// GetGlueRegistryWithName retrieves all glue.Registry items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VPNGatewayRoutePropagationWithName(name string) (*ec2.VPNGatewayRoutePropagation, error) { +func (t *Template) GetGlueRegistryWithName(name string) (*glue.Registry, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VPNGatewayRoutePropagation: + case *glue.Registry: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VPNGatewayRoutePropagation not found", name) + return nil, fmt.Errorf("resource %q of type glue.Registry not found", name) } -// GetAllEC2VolumeResources retrieves all ec2.Volume items from an AWS CloudFormation template -func (t *Template) GetAllEC2VolumeResources() map[string]*ec2.Volume { - results := map[string]*ec2.Volume{} +// GetAllGlueSchemaResources retrieves all glue.Schema items from an AWS CloudFormation template +func (t *Template) GetAllGlueSchemaResources() map[string]*glue.Schema { + results := map[string]*glue.Schema{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.Volume: + case *glue.Schema: results[name] = resource } } return results } -// GetEC2VolumeWithName retrieves all ec2.Volume items from an AWS CloudFormation template +// GetGlueSchemaWithName retrieves all glue.Schema items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VolumeWithName(name string) (*ec2.Volume, error) { +func (t *Template) GetGlueSchemaWithName(name string) (*glue.Schema, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.Volume: + case *glue.Schema: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.Volume not found", name) + return nil, fmt.Errorf("resource %q of type glue.Schema not found", name) } -// GetAllEC2VolumeAttachmentResources retrieves all ec2.VolumeAttachment items from an AWS CloudFormation template -func (t *Template) GetAllEC2VolumeAttachmentResources() map[string]*ec2.VolumeAttachment { - results := map[string]*ec2.VolumeAttachment{} +// GetAllGlueSchemaVersionResources retrieves all glue.SchemaVersion items from an AWS CloudFormation template +func (t *Template) GetAllGlueSchemaVersionResources() map[string]*glue.SchemaVersion { + results := map[string]*glue.SchemaVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ec2.VolumeAttachment: + case *glue.SchemaVersion: results[name] = resource } } return results } -// GetEC2VolumeAttachmentWithName retrieves all ec2.VolumeAttachment items from an AWS CloudFormation template +// GetGlueSchemaVersionWithName retrieves all glue.SchemaVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEC2VolumeAttachmentWithName(name string) (*ec2.VolumeAttachment, error) { +func (t *Template) GetGlueSchemaVersionWithName(name string) (*glue.SchemaVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ec2.VolumeAttachment: + case *glue.SchemaVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ec2.VolumeAttachment not found", name) + return nil, fmt.Errorf("resource %q of type glue.SchemaVersion not found", name) } -// GetAllECRRepositoryResources retrieves all ecr.Repository items from an AWS CloudFormation template -func (t *Template) GetAllECRRepositoryResources() map[string]*ecr.Repository { - results := map[string]*ecr.Repository{} +// GetAllGlueSchemaVersionMetadataResources retrieves all glue.SchemaVersionMetadata items from an AWS CloudFormation template +func (t *Template) GetAllGlueSchemaVersionMetadataResources() map[string]*glue.SchemaVersionMetadata { + results := map[string]*glue.SchemaVersionMetadata{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ecr.Repository: + case *glue.SchemaVersionMetadata: results[name] = resource } } return results } -// GetECRRepositoryWithName retrieves all ecr.Repository items from an AWS CloudFormation template +// GetGlueSchemaVersionMetadataWithName retrieves all glue.SchemaVersionMetadata items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetECRRepositoryWithName(name string) (*ecr.Repository, error) { +func (t *Template) GetGlueSchemaVersionMetadataWithName(name string) (*glue.SchemaVersionMetadata, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ecr.Repository: + case *glue.SchemaVersionMetadata: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ecr.Repository not found", name) + return nil, fmt.Errorf("resource %q of type glue.SchemaVersionMetadata 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{} +// GetAllGlueSecurityConfigurationResources retrieves all glue.SecurityConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllGlueSecurityConfigurationResources() map[string]*glue.SecurityConfiguration { + results := map[string]*glue.SecurityConfiguration{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ecs.CapacityProvider: + case *glue.SecurityConfiguration: results[name] = resource } } return results } -// GetECSCapacityProviderWithName retrieves all ecs.CapacityProvider items from an AWS CloudFormation template +// GetGlueSecurityConfigurationWithName retrieves all glue.SecurityConfiguration 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) { +func (t *Template) GetGlueSecurityConfigurationWithName(name string) (*glue.SecurityConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ecs.CapacityProvider: + case *glue.SecurityConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ecs.CapacityProvider not found", name) + return nil, fmt.Errorf("resource %q of type glue.SecurityConfiguration 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{} +// GetAllGlueTableResources retrieves all glue.Table items from an AWS CloudFormation template +func (t *Template) GetAllGlueTableResources() map[string]*glue.Table { + results := map[string]*glue.Table{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ecs.Cluster: + case *glue.Table: results[name] = resource } } return results } -// GetECSClusterWithName retrieves all ecs.Cluster items from an AWS CloudFormation template +// GetGlueTableWithName retrieves all glue.Table items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetECSClusterWithName(name string) (*ecs.Cluster, error) { +func (t *Template) GetGlueTableWithName(name string) (*glue.Table, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ecs.Cluster: + case *glue.Table: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ecs.Cluster not found", name) + return nil, fmt.Errorf("resource %q of type glue.Table not found", name) } -// GetAllECSPrimaryTaskSetResources retrieves all ecs.PrimaryTaskSet items from an AWS CloudFormation template -func (t *Template) GetAllECSPrimaryTaskSetResources() map[string]*ecs.PrimaryTaskSet { - results := map[string]*ecs.PrimaryTaskSet{} +// GetAllGlueTriggerResources retrieves all glue.Trigger items from an AWS CloudFormation template +func (t *Template) GetAllGlueTriggerResources() map[string]*glue.Trigger { + results := map[string]*glue.Trigger{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ecs.PrimaryTaskSet: + case *glue.Trigger: results[name] = resource } } return results } -// GetECSPrimaryTaskSetWithName retrieves all ecs.PrimaryTaskSet items from an AWS CloudFormation template +// GetGlueTriggerWithName retrieves all glue.Trigger items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetECSPrimaryTaskSetWithName(name string) (*ecs.PrimaryTaskSet, error) { +func (t *Template) GetGlueTriggerWithName(name string) (*glue.Trigger, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ecs.PrimaryTaskSet: + case *glue.Trigger: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ecs.PrimaryTaskSet not found", name) + return nil, fmt.Errorf("resource %q of type glue.Trigger not found", name) } -// GetAllECSServiceResources retrieves all ecs.Service items from an AWS CloudFormation template -func (t *Template) GetAllECSServiceResources() map[string]*ecs.Service { - results := map[string]*ecs.Service{} +// GetAllGlueWorkflowResources retrieves all glue.Workflow items from an AWS CloudFormation template +func (t *Template) GetAllGlueWorkflowResources() map[string]*glue.Workflow { + results := map[string]*glue.Workflow{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ecs.Service: + case *glue.Workflow: results[name] = resource } } return results } -// GetECSServiceWithName retrieves all ecs.Service items from an AWS CloudFormation template +// GetGlueWorkflowWithName retrieves all glue.Workflow items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetECSServiceWithName(name string) (*ecs.Service, error) { +func (t *Template) GetGlueWorkflowWithName(name string) (*glue.Workflow, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ecs.Service: + case *glue.Workflow: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ecs.Service not found", name) + return nil, fmt.Errorf("resource %q of type glue.Workflow not found", name) } -// GetAllECSTaskDefinitionResources retrieves all ecs.TaskDefinition items from an AWS CloudFormation template -func (t *Template) GetAllECSTaskDefinitionResources() map[string]*ecs.TaskDefinition { - results := map[string]*ecs.TaskDefinition{} +// GetAllGreengrassConnectorDefinitionResources retrieves all greengrass.ConnectorDefinition items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassConnectorDefinitionResources() map[string]*greengrass.ConnectorDefinition { + results := map[string]*greengrass.ConnectorDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ecs.TaskDefinition: + case *greengrass.ConnectorDefinition: results[name] = resource } } return results } -// GetECSTaskDefinitionWithName retrieves all ecs.TaskDefinition items from an AWS CloudFormation template +// GetGreengrassConnectorDefinitionWithName retrieves all greengrass.ConnectorDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetECSTaskDefinitionWithName(name string) (*ecs.TaskDefinition, error) { +func (t *Template) GetGreengrassConnectorDefinitionWithName(name string) (*greengrass.ConnectorDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ecs.TaskDefinition: + case *greengrass.ConnectorDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ecs.TaskDefinition not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.ConnectorDefinition not found", name) } -// GetAllECSTaskSetResources retrieves all ecs.TaskSet items from an AWS CloudFormation template -func (t *Template) GetAllECSTaskSetResources() map[string]*ecs.TaskSet { - results := map[string]*ecs.TaskSet{} +// GetAllGreengrassConnectorDefinitionVersionResources retrieves all greengrass.ConnectorDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassConnectorDefinitionVersionResources() map[string]*greengrass.ConnectorDefinitionVersion { + results := map[string]*greengrass.ConnectorDefinitionVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ecs.TaskSet: + case *greengrass.ConnectorDefinitionVersion: results[name] = resource } } return results } -// GetECSTaskSetWithName retrieves all ecs.TaskSet items from an AWS CloudFormation template +// GetGreengrassConnectorDefinitionVersionWithName retrieves all greengrass.ConnectorDefinitionVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetECSTaskSetWithName(name string) (*ecs.TaskSet, error) { +func (t *Template) GetGreengrassConnectorDefinitionVersionWithName(name string) (*greengrass.ConnectorDefinitionVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ecs.TaskSet: + case *greengrass.ConnectorDefinitionVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ecs.TaskSet not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.ConnectorDefinitionVersion 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{} +// GetAllGreengrassCoreDefinitionResources retrieves all greengrass.CoreDefinition items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassCoreDefinitionResources() map[string]*greengrass.CoreDefinition { + results := map[string]*greengrass.CoreDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *efs.AccessPoint: + case *greengrass.CoreDefinition: results[name] = resource } } return results } -// GetEFSAccessPointWithName retrieves all efs.AccessPoint items from an AWS CloudFormation template +// GetGreengrassCoreDefinitionWithName retrieves all greengrass.CoreDefinition 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) { +func (t *Template) GetGreengrassCoreDefinitionWithName(name string) (*greengrass.CoreDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *efs.AccessPoint: + case *greengrass.CoreDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type efs.AccessPoint not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.CoreDefinition 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{} +// GetAllGreengrassCoreDefinitionVersionResources retrieves all greengrass.CoreDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassCoreDefinitionVersionResources() map[string]*greengrass.CoreDefinitionVersion { + results := map[string]*greengrass.CoreDefinitionVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *efs.FileSystem: + case *greengrass.CoreDefinitionVersion: results[name] = resource } } return results } -// GetEFSFileSystemWithName retrieves all efs.FileSystem items from an AWS CloudFormation template +// GetGreengrassCoreDefinitionVersionWithName retrieves all greengrass.CoreDefinitionVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEFSFileSystemWithName(name string) (*efs.FileSystem, error) { +func (t *Template) GetGreengrassCoreDefinitionVersionWithName(name string) (*greengrass.CoreDefinitionVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *efs.FileSystem: + case *greengrass.CoreDefinitionVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type efs.FileSystem not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.CoreDefinitionVersion not found", name) } -// GetAllEFSMountTargetResources retrieves all efs.MountTarget items from an AWS CloudFormation template -func (t *Template) GetAllEFSMountTargetResources() map[string]*efs.MountTarget { - results := map[string]*efs.MountTarget{} +// GetAllGreengrassDeviceDefinitionResources retrieves all greengrass.DeviceDefinition items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassDeviceDefinitionResources() map[string]*greengrass.DeviceDefinition { + results := map[string]*greengrass.DeviceDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *efs.MountTarget: + case *greengrass.DeviceDefinition: results[name] = resource } } return results } -// GetEFSMountTargetWithName retrieves all efs.MountTarget items from an AWS CloudFormation template +// GetGreengrassDeviceDefinitionWithName retrieves all greengrass.DeviceDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEFSMountTargetWithName(name string) (*efs.MountTarget, error) { +func (t *Template) GetGreengrassDeviceDefinitionWithName(name string) (*greengrass.DeviceDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *efs.MountTarget: + case *greengrass.DeviceDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type efs.MountTarget not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.DeviceDefinition not found", name) } -// GetAllEKSClusterResources retrieves all eks.Cluster items from an AWS CloudFormation template -func (t *Template) GetAllEKSClusterResources() map[string]*eks.Cluster { - results := map[string]*eks.Cluster{} +// GetAllGreengrassDeviceDefinitionVersionResources retrieves all greengrass.DeviceDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassDeviceDefinitionVersionResources() map[string]*greengrass.DeviceDefinitionVersion { + results := map[string]*greengrass.DeviceDefinitionVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *eks.Cluster: + case *greengrass.DeviceDefinitionVersion: results[name] = resource } } return results } -// GetEKSClusterWithName retrieves all eks.Cluster items from an AWS CloudFormation template +// GetGreengrassDeviceDefinitionVersionWithName retrieves all greengrass.DeviceDefinitionVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEKSClusterWithName(name string) (*eks.Cluster, error) { +func (t *Template) GetGreengrassDeviceDefinitionVersionWithName(name string) (*greengrass.DeviceDefinitionVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *eks.Cluster: + case *greengrass.DeviceDefinitionVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type eks.Cluster not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.DeviceDefinitionVersion not found", name) } -// GetAllEKSFargateProfileResources retrieves all eks.FargateProfile items from an AWS CloudFormation template -func (t *Template) GetAllEKSFargateProfileResources() map[string]*eks.FargateProfile { - results := map[string]*eks.FargateProfile{} +// GetAllGreengrassFunctionDefinitionResources retrieves all greengrass.FunctionDefinition items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassFunctionDefinitionResources() map[string]*greengrass.FunctionDefinition { + results := map[string]*greengrass.FunctionDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *eks.FargateProfile: + case *greengrass.FunctionDefinition: results[name] = resource } } return results } -// GetEKSFargateProfileWithName retrieves all eks.FargateProfile items from an AWS CloudFormation template +// GetGreengrassFunctionDefinitionWithName retrieves all greengrass.FunctionDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEKSFargateProfileWithName(name string) (*eks.FargateProfile, error) { +func (t *Template) GetGreengrassFunctionDefinitionWithName(name string) (*greengrass.FunctionDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *eks.FargateProfile: + case *greengrass.FunctionDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type eks.FargateProfile not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.FunctionDefinition not found", name) } -// GetAllEKSNodegroupResources retrieves all eks.Nodegroup items from an AWS CloudFormation template -func (t *Template) GetAllEKSNodegroupResources() map[string]*eks.Nodegroup { - results := map[string]*eks.Nodegroup{} +// GetAllGreengrassFunctionDefinitionVersionResources retrieves all greengrass.FunctionDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassFunctionDefinitionVersionResources() map[string]*greengrass.FunctionDefinitionVersion { + results := map[string]*greengrass.FunctionDefinitionVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *eks.Nodegroup: + case *greengrass.FunctionDefinitionVersion: results[name] = resource } } return results } -// GetEKSNodegroupWithName retrieves all eks.Nodegroup items from an AWS CloudFormation template +// GetGreengrassFunctionDefinitionVersionWithName retrieves all greengrass.FunctionDefinitionVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEKSNodegroupWithName(name string) (*eks.Nodegroup, error) { +func (t *Template) GetGreengrassFunctionDefinitionVersionWithName(name string) (*greengrass.FunctionDefinitionVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *eks.Nodegroup: + case *greengrass.FunctionDefinitionVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type eks.Nodegroup not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.FunctionDefinitionVersion not found", name) } -// GetAllEMRClusterResources retrieves all emr.Cluster items from an AWS CloudFormation template -func (t *Template) GetAllEMRClusterResources() map[string]*emr.Cluster { - results := map[string]*emr.Cluster{} +// GetAllGreengrassGroupResources retrieves all greengrass.Group items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassGroupResources() map[string]*greengrass.Group { + results := map[string]*greengrass.Group{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *emr.Cluster: + case *greengrass.Group: results[name] = resource } } return results } -// GetEMRClusterWithName retrieves all emr.Cluster items from an AWS CloudFormation template +// GetGreengrassGroupWithName retrieves all greengrass.Group items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEMRClusterWithName(name string) (*emr.Cluster, error) { +func (t *Template) GetGreengrassGroupWithName(name string) (*greengrass.Group, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *emr.Cluster: + case *greengrass.Group: return resource, nil } } - return nil, fmt.Errorf("resource %q of type emr.Cluster not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.Group not found", name) } -// GetAllEMRInstanceFleetConfigResources retrieves all emr.InstanceFleetConfig items from an AWS CloudFormation template -func (t *Template) GetAllEMRInstanceFleetConfigResources() map[string]*emr.InstanceFleetConfig { - results := map[string]*emr.InstanceFleetConfig{} +// GetAllGreengrassGroupVersionResources retrieves all greengrass.GroupVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassGroupVersionResources() map[string]*greengrass.GroupVersion { + results := map[string]*greengrass.GroupVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *emr.InstanceFleetConfig: + case *greengrass.GroupVersion: results[name] = resource } } return results } -// GetEMRInstanceFleetConfigWithName retrieves all emr.InstanceFleetConfig items from an AWS CloudFormation template +// GetGreengrassGroupVersionWithName retrieves all greengrass.GroupVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEMRInstanceFleetConfigWithName(name string) (*emr.InstanceFleetConfig, error) { +func (t *Template) GetGreengrassGroupVersionWithName(name string) (*greengrass.GroupVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *emr.InstanceFleetConfig: + case *greengrass.GroupVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type emr.InstanceFleetConfig not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.GroupVersion not found", name) } -// GetAllEMRInstanceGroupConfigResources retrieves all emr.InstanceGroupConfig items from an AWS CloudFormation template -func (t *Template) GetAllEMRInstanceGroupConfigResources() map[string]*emr.InstanceGroupConfig { - results := map[string]*emr.InstanceGroupConfig{} +// GetAllGreengrassLoggerDefinitionResources retrieves all greengrass.LoggerDefinition items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassLoggerDefinitionResources() map[string]*greengrass.LoggerDefinition { + results := map[string]*greengrass.LoggerDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *emr.InstanceGroupConfig: + case *greengrass.LoggerDefinition: results[name] = resource } } return results } -// GetEMRInstanceGroupConfigWithName retrieves all emr.InstanceGroupConfig items from an AWS CloudFormation template +// GetGreengrassLoggerDefinitionWithName retrieves all greengrass.LoggerDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEMRInstanceGroupConfigWithName(name string) (*emr.InstanceGroupConfig, error) { +func (t *Template) GetGreengrassLoggerDefinitionWithName(name string) (*greengrass.LoggerDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *emr.InstanceGroupConfig: + case *greengrass.LoggerDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type emr.InstanceGroupConfig not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.LoggerDefinition not found", name) } -// GetAllEMRSecurityConfigurationResources retrieves all emr.SecurityConfiguration items from an AWS CloudFormation template -func (t *Template) GetAllEMRSecurityConfigurationResources() map[string]*emr.SecurityConfiguration { - results := map[string]*emr.SecurityConfiguration{} +// GetAllGreengrassLoggerDefinitionVersionResources retrieves all greengrass.LoggerDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassLoggerDefinitionVersionResources() map[string]*greengrass.LoggerDefinitionVersion { + results := map[string]*greengrass.LoggerDefinitionVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *emr.SecurityConfiguration: + case *greengrass.LoggerDefinitionVersion: results[name] = resource } } return results } -// GetEMRSecurityConfigurationWithName retrieves all emr.SecurityConfiguration items from an AWS CloudFormation template +// GetGreengrassLoggerDefinitionVersionWithName retrieves all greengrass.LoggerDefinitionVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEMRSecurityConfigurationWithName(name string) (*emr.SecurityConfiguration, error) { +func (t *Template) GetGreengrassLoggerDefinitionVersionWithName(name string) (*greengrass.LoggerDefinitionVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *emr.SecurityConfiguration: + case *greengrass.LoggerDefinitionVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type emr.SecurityConfiguration not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.LoggerDefinitionVersion not found", name) } -// GetAllEMRStepResources retrieves all emr.Step items from an AWS CloudFormation template -func (t *Template) GetAllEMRStepResources() map[string]*emr.Step { - results := map[string]*emr.Step{} +// GetAllGreengrassResourceDefinitionResources retrieves all greengrass.ResourceDefinition items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassResourceDefinitionResources() map[string]*greengrass.ResourceDefinition { + results := map[string]*greengrass.ResourceDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *emr.Step: + case *greengrass.ResourceDefinition: results[name] = resource } } return results } -// GetEMRStepWithName retrieves all emr.Step items from an AWS CloudFormation template +// GetGreengrassResourceDefinitionWithName retrieves all greengrass.ResourceDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEMRStepWithName(name string) (*emr.Step, error) { +func (t *Template) GetGreengrassResourceDefinitionWithName(name string) (*greengrass.ResourceDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *emr.Step: + case *greengrass.ResourceDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type emr.Step not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.ResourceDefinition not found", name) } -// GetAllElastiCacheCacheClusterResources retrieves all elasticache.CacheCluster items from an AWS CloudFormation template -func (t *Template) GetAllElastiCacheCacheClusterResources() map[string]*elasticache.CacheCluster { - results := map[string]*elasticache.CacheCluster{} +// GetAllGreengrassResourceDefinitionVersionResources retrieves all greengrass.ResourceDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassResourceDefinitionVersionResources() map[string]*greengrass.ResourceDefinitionVersion { + results := map[string]*greengrass.ResourceDefinitionVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticache.CacheCluster: + case *greengrass.ResourceDefinitionVersion: results[name] = resource } } return results } -// GetElastiCacheCacheClusterWithName retrieves all elasticache.CacheCluster items from an AWS CloudFormation template +// GetGreengrassResourceDefinitionVersionWithName retrieves all greengrass.ResourceDefinitionVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElastiCacheCacheClusterWithName(name string) (*elasticache.CacheCluster, error) { +func (t *Template) GetGreengrassResourceDefinitionVersionWithName(name string) (*greengrass.ResourceDefinitionVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticache.CacheCluster: + case *greengrass.ResourceDefinitionVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticache.CacheCluster not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.ResourceDefinitionVersion not found", name) } -// GetAllElastiCacheParameterGroupResources retrieves all elasticache.ParameterGroup items from an AWS CloudFormation template -func (t *Template) GetAllElastiCacheParameterGroupResources() map[string]*elasticache.ParameterGroup { - results := map[string]*elasticache.ParameterGroup{} +// GetAllGreengrassSubscriptionDefinitionResources retrieves all greengrass.SubscriptionDefinition items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassSubscriptionDefinitionResources() map[string]*greengrass.SubscriptionDefinition { + results := map[string]*greengrass.SubscriptionDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticache.ParameterGroup: + case *greengrass.SubscriptionDefinition: results[name] = resource } } return results } -// GetElastiCacheParameterGroupWithName retrieves all elasticache.ParameterGroup items from an AWS CloudFormation template +// GetGreengrassSubscriptionDefinitionWithName retrieves all greengrass.SubscriptionDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElastiCacheParameterGroupWithName(name string) (*elasticache.ParameterGroup, error) { +func (t *Template) GetGreengrassSubscriptionDefinitionWithName(name string) (*greengrass.SubscriptionDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticache.ParameterGroup: + case *greengrass.SubscriptionDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticache.ParameterGroup not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.SubscriptionDefinition not found", name) } -// GetAllElastiCacheReplicationGroupResources retrieves all elasticache.ReplicationGroup items from an AWS CloudFormation template -func (t *Template) GetAllElastiCacheReplicationGroupResources() map[string]*elasticache.ReplicationGroup { - results := map[string]*elasticache.ReplicationGroup{} +// GetAllGreengrassSubscriptionDefinitionVersionResources retrieves all greengrass.SubscriptionDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassSubscriptionDefinitionVersionResources() map[string]*greengrass.SubscriptionDefinitionVersion { + results := map[string]*greengrass.SubscriptionDefinitionVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticache.ReplicationGroup: + case *greengrass.SubscriptionDefinitionVersion: results[name] = resource } } return results } -// GetElastiCacheReplicationGroupWithName retrieves all elasticache.ReplicationGroup items from an AWS CloudFormation template +// GetGreengrassSubscriptionDefinitionVersionWithName retrieves all greengrass.SubscriptionDefinitionVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElastiCacheReplicationGroupWithName(name string) (*elasticache.ReplicationGroup, error) { +func (t *Template) GetGreengrassSubscriptionDefinitionVersionWithName(name string) (*greengrass.SubscriptionDefinitionVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticache.ReplicationGroup: + case *greengrass.SubscriptionDefinitionVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticache.ReplicationGroup not found", name) + return nil, fmt.Errorf("resource %q of type greengrass.SubscriptionDefinitionVersion not found", name) } -// GetAllElastiCacheSecurityGroupResources retrieves all elasticache.SecurityGroup items from an AWS CloudFormation template -func (t *Template) GetAllElastiCacheSecurityGroupResources() map[string]*elasticache.SecurityGroup { - results := map[string]*elasticache.SecurityGroup{} +// GetAllGreengrassV2ComponentVersionResources retrieves all greengrassv2.ComponentVersion items from an AWS CloudFormation template +func (t *Template) GetAllGreengrassV2ComponentVersionResources() map[string]*greengrassv2.ComponentVersion { + results := map[string]*greengrassv2.ComponentVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticache.SecurityGroup: + case *greengrassv2.ComponentVersion: results[name] = resource } } return results } -// GetElastiCacheSecurityGroupWithName retrieves all elasticache.SecurityGroup items from an AWS CloudFormation template +// GetGreengrassV2ComponentVersionWithName retrieves all greengrassv2.ComponentVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElastiCacheSecurityGroupWithName(name string) (*elasticache.SecurityGroup, error) { +func (t *Template) GetGreengrassV2ComponentVersionWithName(name string) (*greengrassv2.ComponentVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticache.SecurityGroup: + case *greengrassv2.ComponentVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticache.SecurityGroup not found", name) + return nil, fmt.Errorf("resource %q of type greengrassv2.ComponentVersion not found", name) } -// GetAllElastiCacheSecurityGroupIngressResources retrieves all elasticache.SecurityGroupIngress items from an AWS CloudFormation template -func (t *Template) GetAllElastiCacheSecurityGroupIngressResources() map[string]*elasticache.SecurityGroupIngress { - results := map[string]*elasticache.SecurityGroupIngress{} +// GetAllGuardDutyDetectorResources retrieves all guardduty.Detector items from an AWS CloudFormation template +func (t *Template) GetAllGuardDutyDetectorResources() map[string]*guardduty.Detector { + results := map[string]*guardduty.Detector{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticache.SecurityGroupIngress: + case *guardduty.Detector: results[name] = resource } } return results } -// GetElastiCacheSecurityGroupIngressWithName retrieves all elasticache.SecurityGroupIngress items from an AWS CloudFormation template +// GetGuardDutyDetectorWithName retrieves all guardduty.Detector items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElastiCacheSecurityGroupIngressWithName(name string) (*elasticache.SecurityGroupIngress, error) { +func (t *Template) GetGuardDutyDetectorWithName(name string) (*guardduty.Detector, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticache.SecurityGroupIngress: + case *guardduty.Detector: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticache.SecurityGroupIngress not found", name) + return nil, fmt.Errorf("resource %q of type guardduty.Detector not found", name) } -// GetAllElastiCacheSubnetGroupResources retrieves all elasticache.SubnetGroup items from an AWS CloudFormation template -func (t *Template) GetAllElastiCacheSubnetGroupResources() map[string]*elasticache.SubnetGroup { - results := map[string]*elasticache.SubnetGroup{} +// GetAllGuardDutyFilterResources retrieves all guardduty.Filter items from an AWS CloudFormation template +func (t *Template) GetAllGuardDutyFilterResources() map[string]*guardduty.Filter { + results := map[string]*guardduty.Filter{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticache.SubnetGroup: + case *guardduty.Filter: results[name] = resource } } return results } -// GetElastiCacheSubnetGroupWithName retrieves all elasticache.SubnetGroup items from an AWS CloudFormation template +// GetGuardDutyFilterWithName retrieves all guardduty.Filter items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElastiCacheSubnetGroupWithName(name string) (*elasticache.SubnetGroup, error) { +func (t *Template) GetGuardDutyFilterWithName(name string) (*guardduty.Filter, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticache.SubnetGroup: + case *guardduty.Filter: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticache.SubnetGroup not found", name) + return nil, fmt.Errorf("resource %q of type guardduty.Filter not found", name) } -// GetAllElasticBeanstalkApplicationResources retrieves all elasticbeanstalk.Application items from an AWS CloudFormation template -func (t *Template) GetAllElasticBeanstalkApplicationResources() map[string]*elasticbeanstalk.Application { - results := map[string]*elasticbeanstalk.Application{} +// GetAllGuardDutyIPSetResources retrieves all guardduty.IPSet items from an AWS CloudFormation template +func (t *Template) GetAllGuardDutyIPSetResources() map[string]*guardduty.IPSet { + results := map[string]*guardduty.IPSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticbeanstalk.Application: + case *guardduty.IPSet: results[name] = resource } } return results } -// GetElasticBeanstalkApplicationWithName retrieves all elasticbeanstalk.Application items from an AWS CloudFormation template +// GetGuardDutyIPSetWithName retrieves all guardduty.IPSet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticBeanstalkApplicationWithName(name string) (*elasticbeanstalk.Application, error) { +func (t *Template) GetGuardDutyIPSetWithName(name string) (*guardduty.IPSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticbeanstalk.Application: + case *guardduty.IPSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticbeanstalk.Application not found", name) + return nil, fmt.Errorf("resource %q of type guardduty.IPSet not found", name) } -// GetAllElasticBeanstalkApplicationVersionResources retrieves all elasticbeanstalk.ApplicationVersion items from an AWS CloudFormation template -func (t *Template) GetAllElasticBeanstalkApplicationVersionResources() map[string]*elasticbeanstalk.ApplicationVersion { - results := map[string]*elasticbeanstalk.ApplicationVersion{} +// GetAllGuardDutyMasterResources retrieves all guardduty.Master items from an AWS CloudFormation template +func (t *Template) GetAllGuardDutyMasterResources() map[string]*guardduty.Master { + results := map[string]*guardduty.Master{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticbeanstalk.ApplicationVersion: + case *guardduty.Master: results[name] = resource } } return results } -// GetElasticBeanstalkApplicationVersionWithName retrieves all elasticbeanstalk.ApplicationVersion items from an AWS CloudFormation template +// GetGuardDutyMasterWithName retrieves all guardduty.Master items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticBeanstalkApplicationVersionWithName(name string) (*elasticbeanstalk.ApplicationVersion, error) { +func (t *Template) GetGuardDutyMasterWithName(name string) (*guardduty.Master, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticbeanstalk.ApplicationVersion: + case *guardduty.Master: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticbeanstalk.ApplicationVersion not found", name) + return nil, fmt.Errorf("resource %q of type guardduty.Master not found", name) } -// GetAllElasticBeanstalkConfigurationTemplateResources retrieves all elasticbeanstalk.ConfigurationTemplate items from an AWS CloudFormation template -func (t *Template) GetAllElasticBeanstalkConfigurationTemplateResources() map[string]*elasticbeanstalk.ConfigurationTemplate { - results := map[string]*elasticbeanstalk.ConfigurationTemplate{} +// GetAllGuardDutyMemberResources retrieves all guardduty.Member items from an AWS CloudFormation template +func (t *Template) GetAllGuardDutyMemberResources() map[string]*guardduty.Member { + results := map[string]*guardduty.Member{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticbeanstalk.ConfigurationTemplate: + case *guardduty.Member: results[name] = resource } } return results } -// GetElasticBeanstalkConfigurationTemplateWithName retrieves all elasticbeanstalk.ConfigurationTemplate items from an AWS CloudFormation template +// GetGuardDutyMemberWithName retrieves all guardduty.Member items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticBeanstalkConfigurationTemplateWithName(name string) (*elasticbeanstalk.ConfigurationTemplate, error) { +func (t *Template) GetGuardDutyMemberWithName(name string) (*guardduty.Member, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticbeanstalk.ConfigurationTemplate: + case *guardduty.Member: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticbeanstalk.ConfigurationTemplate not found", name) + return nil, fmt.Errorf("resource %q of type guardduty.Member not found", name) } -// GetAllElasticBeanstalkEnvironmentResources retrieves all elasticbeanstalk.Environment items from an AWS CloudFormation template -func (t *Template) GetAllElasticBeanstalkEnvironmentResources() map[string]*elasticbeanstalk.Environment { - results := map[string]*elasticbeanstalk.Environment{} +// GetAllGuardDutyThreatIntelSetResources retrieves all guardduty.ThreatIntelSet items from an AWS CloudFormation template +func (t *Template) GetAllGuardDutyThreatIntelSetResources() map[string]*guardduty.ThreatIntelSet { + results := map[string]*guardduty.ThreatIntelSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticbeanstalk.Environment: + case *guardduty.ThreatIntelSet: results[name] = resource } } return results } -// GetElasticBeanstalkEnvironmentWithName retrieves all elasticbeanstalk.Environment items from an AWS CloudFormation template +// GetGuardDutyThreatIntelSetWithName retrieves all guardduty.ThreatIntelSet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticBeanstalkEnvironmentWithName(name string) (*elasticbeanstalk.Environment, error) { +func (t *Template) GetGuardDutyThreatIntelSetWithName(name string) (*guardduty.ThreatIntelSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticbeanstalk.Environment: + case *guardduty.ThreatIntelSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticbeanstalk.Environment not found", name) + return nil, fmt.Errorf("resource %q of type guardduty.ThreatIntelSet not found", name) } -// GetAllElasticLoadBalancingLoadBalancerResources retrieves all elasticloadbalancing.LoadBalancer items from an AWS CloudFormation template -func (t *Template) GetAllElasticLoadBalancingLoadBalancerResources() map[string]*elasticloadbalancing.LoadBalancer { - results := map[string]*elasticloadbalancing.LoadBalancer{} +// GetAllIAMAccessKeyResources retrieves all iam.AccessKey items from an AWS CloudFormation template +func (t *Template) GetAllIAMAccessKeyResources() map[string]*iam.AccessKey { + results := map[string]*iam.AccessKey{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticloadbalancing.LoadBalancer: + case *iam.AccessKey: results[name] = resource } } return results } -// GetElasticLoadBalancingLoadBalancerWithName retrieves all elasticloadbalancing.LoadBalancer items from an AWS CloudFormation template +// GetIAMAccessKeyWithName retrieves all iam.AccessKey items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticLoadBalancingLoadBalancerWithName(name string) (*elasticloadbalancing.LoadBalancer, error) { +func (t *Template) GetIAMAccessKeyWithName(name string) (*iam.AccessKey, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticloadbalancing.LoadBalancer: + case *iam.AccessKey: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticloadbalancing.LoadBalancer not found", name) + return nil, fmt.Errorf("resource %q of type iam.AccessKey not found", name) } -// GetAllElasticLoadBalancingV2ListenerResources retrieves all elasticloadbalancingv2.Listener items from an AWS CloudFormation template -func (t *Template) GetAllElasticLoadBalancingV2ListenerResources() map[string]*elasticloadbalancingv2.Listener { - results := map[string]*elasticloadbalancingv2.Listener{} +// GetAllIAMGroupResources retrieves all iam.Group items from an AWS CloudFormation template +func (t *Template) GetAllIAMGroupResources() map[string]*iam.Group { + results := map[string]*iam.Group{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticloadbalancingv2.Listener: + case *iam.Group: results[name] = resource } } return results } -// GetElasticLoadBalancingV2ListenerWithName retrieves all elasticloadbalancingv2.Listener items from an AWS CloudFormation template +// GetIAMGroupWithName retrieves all iam.Group items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticLoadBalancingV2ListenerWithName(name string) (*elasticloadbalancingv2.Listener, error) { +func (t *Template) GetIAMGroupWithName(name string) (*iam.Group, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticloadbalancingv2.Listener: + case *iam.Group: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.Listener not found", name) + return nil, fmt.Errorf("resource %q of type iam.Group not found", name) } -// GetAllElasticLoadBalancingV2ListenerCertificateResources retrieves all elasticloadbalancingv2.ListenerCertificate items from an AWS CloudFormation template -func (t *Template) GetAllElasticLoadBalancingV2ListenerCertificateResources() map[string]*elasticloadbalancingv2.ListenerCertificate { - results := map[string]*elasticloadbalancingv2.ListenerCertificate{} +// GetAllIAMInstanceProfileResources retrieves all iam.InstanceProfile items from an AWS CloudFormation template +func (t *Template) GetAllIAMInstanceProfileResources() map[string]*iam.InstanceProfile { + results := map[string]*iam.InstanceProfile{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticloadbalancingv2.ListenerCertificate: + case *iam.InstanceProfile: results[name] = resource } } return results } -// GetElasticLoadBalancingV2ListenerCertificateWithName retrieves all elasticloadbalancingv2.ListenerCertificate items from an AWS CloudFormation template +// GetIAMInstanceProfileWithName retrieves all iam.InstanceProfile items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticLoadBalancingV2ListenerCertificateWithName(name string) (*elasticloadbalancingv2.ListenerCertificate, error) { +func (t *Template) GetIAMInstanceProfileWithName(name string) (*iam.InstanceProfile, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticloadbalancingv2.ListenerCertificate: + case *iam.InstanceProfile: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.ListenerCertificate not found", name) + return nil, fmt.Errorf("resource %q of type iam.InstanceProfile not found", name) } -// GetAllElasticLoadBalancingV2ListenerRuleResources retrieves all elasticloadbalancingv2.ListenerRule items from an AWS CloudFormation template -func (t *Template) GetAllElasticLoadBalancingV2ListenerRuleResources() map[string]*elasticloadbalancingv2.ListenerRule { - results := map[string]*elasticloadbalancingv2.ListenerRule{} +// GetAllIAMManagedPolicyResources retrieves all iam.ManagedPolicy items from an AWS CloudFormation template +func (t *Template) GetAllIAMManagedPolicyResources() map[string]*iam.ManagedPolicy { + results := map[string]*iam.ManagedPolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticloadbalancingv2.ListenerRule: + case *iam.ManagedPolicy: results[name] = resource } } return results } -// GetElasticLoadBalancingV2ListenerRuleWithName retrieves all elasticloadbalancingv2.ListenerRule items from an AWS CloudFormation template +// GetIAMManagedPolicyWithName retrieves all iam.ManagedPolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticLoadBalancingV2ListenerRuleWithName(name string) (*elasticloadbalancingv2.ListenerRule, error) { +func (t *Template) GetIAMManagedPolicyWithName(name string) (*iam.ManagedPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticloadbalancingv2.ListenerRule: + case *iam.ManagedPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.ListenerRule not found", name) + return nil, fmt.Errorf("resource %q of type iam.ManagedPolicy not found", name) } -// GetAllElasticLoadBalancingV2LoadBalancerResources retrieves all elasticloadbalancingv2.LoadBalancer items from an AWS CloudFormation template -func (t *Template) GetAllElasticLoadBalancingV2LoadBalancerResources() map[string]*elasticloadbalancingv2.LoadBalancer { - results := map[string]*elasticloadbalancingv2.LoadBalancer{} +// GetAllIAMOIDCProviderResources retrieves all iam.OIDCProvider items from an AWS CloudFormation template +func (t *Template) GetAllIAMOIDCProviderResources() map[string]*iam.OIDCProvider { + results := map[string]*iam.OIDCProvider{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticloadbalancingv2.LoadBalancer: + case *iam.OIDCProvider: results[name] = resource } } return results } -// GetElasticLoadBalancingV2LoadBalancerWithName retrieves all elasticloadbalancingv2.LoadBalancer items from an AWS CloudFormation template +// GetIAMOIDCProviderWithName retrieves all iam.OIDCProvider items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticLoadBalancingV2LoadBalancerWithName(name string) (*elasticloadbalancingv2.LoadBalancer, error) { +func (t *Template) GetIAMOIDCProviderWithName(name string) (*iam.OIDCProvider, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticloadbalancingv2.LoadBalancer: + case *iam.OIDCProvider: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.LoadBalancer not found", name) + return nil, fmt.Errorf("resource %q of type iam.OIDCProvider not found", name) } -// GetAllElasticLoadBalancingV2TargetGroupResources retrieves all elasticloadbalancingv2.TargetGroup items from an AWS CloudFormation template -func (t *Template) GetAllElasticLoadBalancingV2TargetGroupResources() map[string]*elasticloadbalancingv2.TargetGroup { - results := map[string]*elasticloadbalancingv2.TargetGroup{} +// GetAllIAMPolicyResources retrieves all iam.Policy items from an AWS CloudFormation template +func (t *Template) GetAllIAMPolicyResources() map[string]*iam.Policy { + results := map[string]*iam.Policy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticloadbalancingv2.TargetGroup: + case *iam.Policy: results[name] = resource } } return results } -// GetElasticLoadBalancingV2TargetGroupWithName retrieves all elasticloadbalancingv2.TargetGroup items from an AWS CloudFormation template +// GetIAMPolicyWithName retrieves all iam.Policy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticLoadBalancingV2TargetGroupWithName(name string) (*elasticloadbalancingv2.TargetGroup, error) { +func (t *Template) GetIAMPolicyWithName(name string) (*iam.Policy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticloadbalancingv2.TargetGroup: + case *iam.Policy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.TargetGroup not found", name) + return nil, fmt.Errorf("resource %q of type iam.Policy not found", name) } -// GetAllElasticsearchDomainResources retrieves all elasticsearch.Domain items from an AWS CloudFormation template -func (t *Template) GetAllElasticsearchDomainResources() map[string]*elasticsearch.Domain { - results := map[string]*elasticsearch.Domain{} +// GetAllIAMRoleResources retrieves all iam.Role items from an AWS CloudFormation template +func (t *Template) GetAllIAMRoleResources() map[string]*iam.Role { + results := map[string]*iam.Role{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *elasticsearch.Domain: + case *iam.Role: results[name] = resource } } return results } -// GetElasticsearchDomainWithName retrieves all elasticsearch.Domain items from an AWS CloudFormation template +// GetIAMRoleWithName retrieves all iam.Role items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetElasticsearchDomainWithName(name string) (*elasticsearch.Domain, error) { +func (t *Template) GetIAMRoleWithName(name string) (*iam.Role, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *elasticsearch.Domain: + case *iam.Role: return resource, nil } } - return nil, fmt.Errorf("resource %q of type elasticsearch.Domain not found", name) + return nil, fmt.Errorf("resource %q of type iam.Role not found", name) } -// GetAllEventSchemasDiscovererResources retrieves all eventschemas.Discoverer items from an AWS CloudFormation template -func (t *Template) GetAllEventSchemasDiscovererResources() map[string]*eventschemas.Discoverer { - results := map[string]*eventschemas.Discoverer{} +// GetAllIAMSAMLProviderResources retrieves all iam.SAMLProvider items from an AWS CloudFormation template +func (t *Template) GetAllIAMSAMLProviderResources() map[string]*iam.SAMLProvider { + results := map[string]*iam.SAMLProvider{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *eventschemas.Discoverer: + case *iam.SAMLProvider: results[name] = resource } } return results } -// GetEventSchemasDiscovererWithName retrieves all eventschemas.Discoverer items from an AWS CloudFormation template +// GetIAMSAMLProviderWithName retrieves all iam.SAMLProvider items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEventSchemasDiscovererWithName(name string) (*eventschemas.Discoverer, error) { +func (t *Template) GetIAMSAMLProviderWithName(name string) (*iam.SAMLProvider, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *eventschemas.Discoverer: + case *iam.SAMLProvider: return resource, nil } } - return nil, fmt.Errorf("resource %q of type eventschemas.Discoverer not found", name) + return nil, fmt.Errorf("resource %q of type iam.SAMLProvider not found", name) } -// GetAllEventSchemasRegistryResources retrieves all eventschemas.Registry items from an AWS CloudFormation template -func (t *Template) GetAllEventSchemasRegistryResources() map[string]*eventschemas.Registry { - results := map[string]*eventschemas.Registry{} +// GetAllIAMServerCertificateResources retrieves all iam.ServerCertificate items from an AWS CloudFormation template +func (t *Template) GetAllIAMServerCertificateResources() map[string]*iam.ServerCertificate { + results := map[string]*iam.ServerCertificate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *eventschemas.Registry: + case *iam.ServerCertificate: results[name] = resource } } return results } -// GetEventSchemasRegistryWithName retrieves all eventschemas.Registry items from an AWS CloudFormation template +// GetIAMServerCertificateWithName retrieves all iam.ServerCertificate items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEventSchemasRegistryWithName(name string) (*eventschemas.Registry, error) { +func (t *Template) GetIAMServerCertificateWithName(name string) (*iam.ServerCertificate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *eventschemas.Registry: + case *iam.ServerCertificate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type eventschemas.Registry not found", name) + return nil, fmt.Errorf("resource %q of type iam.ServerCertificate 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{} +// GetAllIAMServiceLinkedRoleResources retrieves all iam.ServiceLinkedRole items from an AWS CloudFormation template +func (t *Template) GetAllIAMServiceLinkedRoleResources() map[string]*iam.ServiceLinkedRole { + results := map[string]*iam.ServiceLinkedRole{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *eventschemas.RegistryPolicy: + case *iam.ServiceLinkedRole: results[name] = resource } } return results } -// GetEventSchemasRegistryPolicyWithName retrieves all eventschemas.RegistryPolicy items from an AWS CloudFormation template +// GetIAMServiceLinkedRoleWithName retrieves all iam.ServiceLinkedRole 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) { +func (t *Template) GetIAMServiceLinkedRoleWithName(name string) (*iam.ServiceLinkedRole, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *eventschemas.RegistryPolicy: + case *iam.ServiceLinkedRole: return resource, nil } } - return nil, fmt.Errorf("resource %q of type eventschemas.RegistryPolicy not found", name) + return nil, fmt.Errorf("resource %q of type iam.ServiceLinkedRole 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{} +// GetAllIAMUserResources retrieves all iam.User items from an AWS CloudFormation template +func (t *Template) GetAllIAMUserResources() map[string]*iam.User { + results := map[string]*iam.User{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *eventschemas.Schema: + case *iam.User: results[name] = resource } } return results } -// GetEventSchemasSchemaWithName retrieves all eventschemas.Schema items from an AWS CloudFormation template +// GetIAMUserWithName retrieves all iam.User items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEventSchemasSchemaWithName(name string) (*eventschemas.Schema, error) { +func (t *Template) GetIAMUserWithName(name string) (*iam.User, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *eventschemas.Schema: + case *iam.User: return resource, nil } } - return nil, fmt.Errorf("resource %q of type eventschemas.Schema not found", name) + return nil, fmt.Errorf("resource %q of type iam.User not found", name) } -// GetAllEventsEventBusResources retrieves all events.EventBus items from an AWS CloudFormation template -func (t *Template) GetAllEventsEventBusResources() map[string]*events.EventBus { - results := map[string]*events.EventBus{} +// GetAllIAMUserToGroupAdditionResources retrieves all iam.UserToGroupAddition items from an AWS CloudFormation template +func (t *Template) GetAllIAMUserToGroupAdditionResources() map[string]*iam.UserToGroupAddition { + results := map[string]*iam.UserToGroupAddition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *events.EventBus: + case *iam.UserToGroupAddition: results[name] = resource } } return results } -// GetEventsEventBusWithName retrieves all events.EventBus items from an AWS CloudFormation template +// GetIAMUserToGroupAdditionWithName retrieves all iam.UserToGroupAddition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEventsEventBusWithName(name string) (*events.EventBus, error) { +func (t *Template) GetIAMUserToGroupAdditionWithName(name string) (*iam.UserToGroupAddition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *events.EventBus: + case *iam.UserToGroupAddition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type events.EventBus not found", name) + return nil, fmt.Errorf("resource %q of type iam.UserToGroupAddition not found", name) } -// GetAllEventsEventBusPolicyResources retrieves all events.EventBusPolicy items from an AWS CloudFormation template -func (t *Template) GetAllEventsEventBusPolicyResources() map[string]*events.EventBusPolicy { - results := map[string]*events.EventBusPolicy{} +// GetAllIAMVirtualMFADeviceResources retrieves all iam.VirtualMFADevice items from an AWS CloudFormation template +func (t *Template) GetAllIAMVirtualMFADeviceResources() map[string]*iam.VirtualMFADevice { + results := map[string]*iam.VirtualMFADevice{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *events.EventBusPolicy: + case *iam.VirtualMFADevice: results[name] = resource } } return results } -// GetEventsEventBusPolicyWithName retrieves all events.EventBusPolicy items from an AWS CloudFormation template +// GetIAMVirtualMFADeviceWithName retrieves all iam.VirtualMFADevice items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEventsEventBusPolicyWithName(name string) (*events.EventBusPolicy, error) { +func (t *Template) GetIAMVirtualMFADeviceWithName(name string) (*iam.VirtualMFADevice, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *events.EventBusPolicy: + case *iam.VirtualMFADevice: return resource, nil } } - return nil, fmt.Errorf("resource %q of type events.EventBusPolicy not found", name) + return nil, fmt.Errorf("resource %q of type iam.VirtualMFADevice not found", name) } -// GetAllEventsRuleResources retrieves all events.Rule items from an AWS CloudFormation template -func (t *Template) GetAllEventsRuleResources() map[string]*events.Rule { - results := map[string]*events.Rule{} +// GetAllIVSChannelResources retrieves all ivs.Channel items from an AWS CloudFormation template +func (t *Template) GetAllIVSChannelResources() map[string]*ivs.Channel { + results := map[string]*ivs.Channel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *events.Rule: + case *ivs.Channel: results[name] = resource } } return results } -// GetEventsRuleWithName retrieves all events.Rule items from an AWS CloudFormation template +// GetIVSChannelWithName retrieves all ivs.Channel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetEventsRuleWithName(name string) (*events.Rule, error) { +func (t *Template) GetIVSChannelWithName(name string) (*ivs.Channel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *events.Rule: + case *ivs.Channel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type events.Rule not found", name) + return nil, fmt.Errorf("resource %q of type ivs.Channel not found", name) } -// GetAllFMSNotificationChannelResources retrieves all fms.NotificationChannel items from an AWS CloudFormation template -func (t *Template) GetAllFMSNotificationChannelResources() map[string]*fms.NotificationChannel { - results := map[string]*fms.NotificationChannel{} +// GetAllIVSPlaybackKeyPairResources retrieves all ivs.PlaybackKeyPair items from an AWS CloudFormation template +func (t *Template) GetAllIVSPlaybackKeyPairResources() map[string]*ivs.PlaybackKeyPair { + results := map[string]*ivs.PlaybackKeyPair{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *fms.NotificationChannel: + case *ivs.PlaybackKeyPair: results[name] = resource } } return results } -// GetFMSNotificationChannelWithName retrieves all fms.NotificationChannel items from an AWS CloudFormation template +// GetIVSPlaybackKeyPairWithName retrieves all ivs.PlaybackKeyPair items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetFMSNotificationChannelWithName(name string) (*fms.NotificationChannel, error) { +func (t *Template) GetIVSPlaybackKeyPairWithName(name string) (*ivs.PlaybackKeyPair, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *fms.NotificationChannel: + case *ivs.PlaybackKeyPair: return resource, nil } } - return nil, fmt.Errorf("resource %q of type fms.NotificationChannel not found", name) + return nil, fmt.Errorf("resource %q of type ivs.PlaybackKeyPair not found", name) } -// GetAllFMSPolicyResources retrieves all fms.Policy items from an AWS CloudFormation template -func (t *Template) GetAllFMSPolicyResources() map[string]*fms.Policy { - results := map[string]*fms.Policy{} +// GetAllIVSStreamKeyResources retrieves all ivs.StreamKey items from an AWS CloudFormation template +func (t *Template) GetAllIVSStreamKeyResources() map[string]*ivs.StreamKey { + results := map[string]*ivs.StreamKey{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *fms.Policy: + case *ivs.StreamKey: results[name] = resource } } return results } -// GetFMSPolicyWithName retrieves all fms.Policy items from an AWS CloudFormation template +// GetIVSStreamKeyWithName retrieves all ivs.StreamKey items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetFMSPolicyWithName(name string) (*fms.Policy, error) { +func (t *Template) GetIVSStreamKeyWithName(name string) (*ivs.StreamKey, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *fms.Policy: + case *ivs.StreamKey: return resource, nil } } - return nil, fmt.Errorf("resource %q of type fms.Policy not found", name) + return nil, fmt.Errorf("resource %q of type ivs.StreamKey not found", name) } -// GetAllFSxFileSystemResources retrieves all fsx.FileSystem items from an AWS CloudFormation template -func (t *Template) GetAllFSxFileSystemResources() map[string]*fsx.FileSystem { - results := map[string]*fsx.FileSystem{} +// 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 *fsx.FileSystem: + case *imagebuilder.Component: results[name] = resource } } return results } -// GetFSxFileSystemWithName retrieves all fsx.FileSystem items from an AWS CloudFormation template +// 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) GetFSxFileSystemWithName(name string) (*fsx.FileSystem, error) { +func (t *Template) GetImageBuilderComponentWithName(name string) (*imagebuilder.Component, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *fsx.FileSystem: + case *imagebuilder.Component: return resource, nil } } - return nil, fmt.Errorf("resource %q of type fsx.FileSystem not found", name) + return nil, fmt.Errorf("resource %q of type imagebuilder.Component not found", name) } -// GetAllGameLiftAliasResources retrieves all gamelift.Alias items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftAliasResources() map[string]*gamelift.Alias { - results := map[string]*gamelift.Alias{} +// GetAllImageBuilderContainerRecipeResources retrieves all imagebuilder.ContainerRecipe items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderContainerRecipeResources() map[string]*imagebuilder.ContainerRecipe { + results := map[string]*imagebuilder.ContainerRecipe{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *gamelift.Alias: + case *imagebuilder.ContainerRecipe: results[name] = resource } } return results } -// GetGameLiftAliasWithName retrieves all gamelift.Alias items from an AWS CloudFormation template +// GetImageBuilderContainerRecipeWithName retrieves all imagebuilder.ContainerRecipe items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGameLiftAliasWithName(name string) (*gamelift.Alias, error) { +func (t *Template) GetImageBuilderContainerRecipeWithName(name string) (*imagebuilder.ContainerRecipe, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.Alias: + case *imagebuilder.ContainerRecipe: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.Alias not found", name) + return nil, fmt.Errorf("resource %q of type imagebuilder.ContainerRecipe not found", name) } -// GetAllGameLiftBuildResources retrieves all gamelift.Build items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftBuildResources() map[string]*gamelift.Build { - results := map[string]*gamelift.Build{} +// 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 *gamelift.Build: + case *imagebuilder.DistributionConfiguration: results[name] = resource } } return results } -// GetGameLiftBuildWithName retrieves all gamelift.Build items from an AWS CloudFormation template +// 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) GetGameLiftBuildWithName(name string) (*gamelift.Build, error) { +func (t *Template) GetImageBuilderDistributionConfigurationWithName(name string) (*imagebuilder.DistributionConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.Build: + case *imagebuilder.DistributionConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.Build not found", name) + return nil, fmt.Errorf("resource %q of type imagebuilder.DistributionConfiguration not found", name) } -// GetAllGameLiftFleetResources retrieves all gamelift.Fleet items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftFleetResources() map[string]*gamelift.Fleet { - results := map[string]*gamelift.Fleet{} +// 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 *gamelift.Fleet: + case *imagebuilder.Image: results[name] = resource } } return results } -// GetGameLiftFleetWithName retrieves all gamelift.Fleet items from an AWS CloudFormation template +// 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) GetGameLiftFleetWithName(name string) (*gamelift.Fleet, error) { +func (t *Template) GetImageBuilderImageWithName(name string) (*imagebuilder.Image, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.Fleet: + case *imagebuilder.Image: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.Fleet not found", name) + return nil, fmt.Errorf("resource %q of type imagebuilder.Image not found", name) } -// GetAllGameLiftGameServerGroupResources retrieves all gamelift.GameServerGroup items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftGameServerGroupResources() map[string]*gamelift.GameServerGroup { - results := map[string]*gamelift.GameServerGroup{} +// 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 *gamelift.GameServerGroup: + case *imagebuilder.ImagePipeline: results[name] = resource } } return results } -// GetGameLiftGameServerGroupWithName retrieves all gamelift.GameServerGroup items from an AWS CloudFormation template +// 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) GetGameLiftGameServerGroupWithName(name string) (*gamelift.GameServerGroup, error) { +func (t *Template) GetImageBuilderImagePipelineWithName(name string) (*imagebuilder.ImagePipeline, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.GameServerGroup: + case *imagebuilder.ImagePipeline: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.GameServerGroup not found", name) + return nil, fmt.Errorf("resource %q of type imagebuilder.ImagePipeline not found", name) } -// GetAllGameLiftGameSessionQueueResources retrieves all gamelift.GameSessionQueue items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftGameSessionQueueResources() map[string]*gamelift.GameSessionQueue { - results := map[string]*gamelift.GameSessionQueue{} +// 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 *gamelift.GameSessionQueue: + case *imagebuilder.ImageRecipe: results[name] = resource } } return results } -// GetGameLiftGameSessionQueueWithName retrieves all gamelift.GameSessionQueue items from an AWS CloudFormation template +// 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) GetGameLiftGameSessionQueueWithName(name string) (*gamelift.GameSessionQueue, error) { +func (t *Template) GetImageBuilderImageRecipeWithName(name string) (*imagebuilder.ImageRecipe, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.GameSessionQueue: + case *imagebuilder.ImageRecipe: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.GameSessionQueue not found", name) + return nil, fmt.Errorf("resource %q of type imagebuilder.ImageRecipe not found", name) } -// GetAllGameLiftMatchmakingConfigurationResources retrieves all gamelift.MatchmakingConfiguration items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftMatchmakingConfigurationResources() map[string]*gamelift.MatchmakingConfiguration { - results := map[string]*gamelift.MatchmakingConfiguration{} +// 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 *gamelift.MatchmakingConfiguration: + case *imagebuilder.InfrastructureConfiguration: results[name] = resource } } return results } -// GetGameLiftMatchmakingConfigurationWithName retrieves all gamelift.MatchmakingConfiguration items from an AWS CloudFormation template +// 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) GetGameLiftMatchmakingConfigurationWithName(name string) (*gamelift.MatchmakingConfiguration, error) { +func (t *Template) GetImageBuilderInfrastructureConfigurationWithName(name string) (*imagebuilder.InfrastructureConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.MatchmakingConfiguration: + case *imagebuilder.InfrastructureConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.MatchmakingConfiguration not found", name) + return nil, fmt.Errorf("resource %q of type imagebuilder.InfrastructureConfiguration not found", name) } -// GetAllGameLiftMatchmakingRuleSetResources retrieves all gamelift.MatchmakingRuleSet items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftMatchmakingRuleSetResources() map[string]*gamelift.MatchmakingRuleSet { - results := map[string]*gamelift.MatchmakingRuleSet{} +// GetAllInspectorAssessmentTargetResources retrieves all inspector.AssessmentTarget items from an AWS CloudFormation template +func (t *Template) GetAllInspectorAssessmentTargetResources() map[string]*inspector.AssessmentTarget { + results := map[string]*inspector.AssessmentTarget{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *gamelift.MatchmakingRuleSet: + case *inspector.AssessmentTarget: results[name] = resource } } return results } -// GetGameLiftMatchmakingRuleSetWithName retrieves all gamelift.MatchmakingRuleSet items from an AWS CloudFormation template +// GetInspectorAssessmentTargetWithName retrieves all inspector.AssessmentTarget items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGameLiftMatchmakingRuleSetWithName(name string) (*gamelift.MatchmakingRuleSet, error) { +func (t *Template) GetInspectorAssessmentTargetWithName(name string) (*inspector.AssessmentTarget, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.MatchmakingRuleSet: + case *inspector.AssessmentTarget: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.MatchmakingRuleSet not found", name) + return nil, fmt.Errorf("resource %q of type inspector.AssessmentTarget not found", name) } -// GetAllGameLiftScriptResources retrieves all gamelift.Script items from an AWS CloudFormation template -func (t *Template) GetAllGameLiftScriptResources() map[string]*gamelift.Script { - results := map[string]*gamelift.Script{} +// GetAllInspectorAssessmentTemplateResources retrieves all inspector.AssessmentTemplate items from an AWS CloudFormation template +func (t *Template) GetAllInspectorAssessmentTemplateResources() map[string]*inspector.AssessmentTemplate { + results := map[string]*inspector.AssessmentTemplate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *gamelift.Script: + case *inspector.AssessmentTemplate: results[name] = resource } } return results } -// GetGameLiftScriptWithName retrieves all gamelift.Script items from an AWS CloudFormation template +// GetInspectorAssessmentTemplateWithName retrieves all inspector.AssessmentTemplate items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGameLiftScriptWithName(name string) (*gamelift.Script, error) { +func (t *Template) GetInspectorAssessmentTemplateWithName(name string) (*inspector.AssessmentTemplate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *gamelift.Script: + case *inspector.AssessmentTemplate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type gamelift.Script not found", name) + return nil, fmt.Errorf("resource %q of type inspector.AssessmentTemplate not found", name) } -// GetAllGlobalAcceleratorAcceleratorResources retrieves all globalaccelerator.Accelerator items from an AWS CloudFormation template -func (t *Template) GetAllGlobalAcceleratorAcceleratorResources() map[string]*globalaccelerator.Accelerator { - results := map[string]*globalaccelerator.Accelerator{} +// GetAllInspectorResourceGroupResources retrieves all inspector.ResourceGroup items from an AWS CloudFormation template +func (t *Template) GetAllInspectorResourceGroupResources() map[string]*inspector.ResourceGroup { + results := map[string]*inspector.ResourceGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *globalaccelerator.Accelerator: + case *inspector.ResourceGroup: results[name] = resource } } return results } -// GetGlobalAcceleratorAcceleratorWithName retrieves all globalaccelerator.Accelerator items from an AWS CloudFormation template +// GetInspectorResourceGroupWithName retrieves all inspector.ResourceGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlobalAcceleratorAcceleratorWithName(name string) (*globalaccelerator.Accelerator, error) { +func (t *Template) GetInspectorResourceGroupWithName(name string) (*inspector.ResourceGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *globalaccelerator.Accelerator: + case *inspector.ResourceGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type globalaccelerator.Accelerator not found", name) + return nil, fmt.Errorf("resource %q of type inspector.ResourceGroup not found", name) } -// GetAllGlobalAcceleratorEndpointGroupResources retrieves all globalaccelerator.EndpointGroup items from an AWS CloudFormation template -func (t *Template) GetAllGlobalAcceleratorEndpointGroupResources() map[string]*globalaccelerator.EndpointGroup { - results := map[string]*globalaccelerator.EndpointGroup{} +// GetAllIoT1ClickDeviceResources retrieves all iot1click.Device items from an AWS CloudFormation template +func (t *Template) GetAllIoT1ClickDeviceResources() map[string]*iot1click.Device { + results := map[string]*iot1click.Device{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *globalaccelerator.EndpointGroup: + case *iot1click.Device: results[name] = resource } } return results } -// GetGlobalAcceleratorEndpointGroupWithName retrieves all globalaccelerator.EndpointGroup items from an AWS CloudFormation template +// GetIoT1ClickDeviceWithName retrieves all iot1click.Device items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlobalAcceleratorEndpointGroupWithName(name string) (*globalaccelerator.EndpointGroup, error) { +func (t *Template) GetIoT1ClickDeviceWithName(name string) (*iot1click.Device, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *globalaccelerator.EndpointGroup: + case *iot1click.Device: return resource, nil } } - return nil, fmt.Errorf("resource %q of type globalaccelerator.EndpointGroup not found", name) + return nil, fmt.Errorf("resource %q of type iot1click.Device not found", name) } -// GetAllGlobalAcceleratorListenerResources retrieves all globalaccelerator.Listener items from an AWS CloudFormation template -func (t *Template) GetAllGlobalAcceleratorListenerResources() map[string]*globalaccelerator.Listener { - results := map[string]*globalaccelerator.Listener{} +// GetAllIoT1ClickPlacementResources retrieves all iot1click.Placement items from an AWS CloudFormation template +func (t *Template) GetAllIoT1ClickPlacementResources() map[string]*iot1click.Placement { + results := map[string]*iot1click.Placement{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *globalaccelerator.Listener: + case *iot1click.Placement: results[name] = resource } } return results } -// GetGlobalAcceleratorListenerWithName retrieves all globalaccelerator.Listener items from an AWS CloudFormation template +// GetIoT1ClickPlacementWithName retrieves all iot1click.Placement items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlobalAcceleratorListenerWithName(name string) (*globalaccelerator.Listener, error) { +func (t *Template) GetIoT1ClickPlacementWithName(name string) (*iot1click.Placement, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *globalaccelerator.Listener: + case *iot1click.Placement: return resource, nil } } - return nil, fmt.Errorf("resource %q of type globalaccelerator.Listener not found", name) + return nil, fmt.Errorf("resource %q of type iot1click.Placement 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{} +// GetAllIoT1ClickProjectResources retrieves all iot1click.Project items from an AWS CloudFormation template +func (t *Template) GetAllIoT1ClickProjectResources() map[string]*iot1click.Project { + results := map[string]*iot1click.Project{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Classifier: + case *iot1click.Project: results[name] = resource } } return results } -// GetGlueClassifierWithName retrieves all glue.Classifier items from an AWS CloudFormation template +// GetIoT1ClickProjectWithName retrieves all iot1click.Project 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) GetIoT1ClickProjectWithName(name string) (*iot1click.Project, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Classifier: + case *iot1click.Project: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Classifier not found", name) + return nil, fmt.Errorf("resource %q of type iot1click.Project 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{} +// GetAllIoTAccountAuditConfigurationResources retrieves all iot.AccountAuditConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllIoTAccountAuditConfigurationResources() map[string]*iot.AccountAuditConfiguration { + results := map[string]*iot.AccountAuditConfiguration{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Connection: + case *iot.AccountAuditConfiguration: results[name] = resource } } return results } -// GetGlueConnectionWithName retrieves all glue.Connection items from an AWS CloudFormation template +// GetIoTAccountAuditConfigurationWithName retrieves all iot.AccountAuditConfiguration 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) GetIoTAccountAuditConfigurationWithName(name string) (*iot.AccountAuditConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Connection: + case *iot.AccountAuditConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Connection not found", name) + return nil, fmt.Errorf("resource %q of type iot.AccountAuditConfiguration 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{} +// GetAllIoTAuthorizerResources retrieves all iot.Authorizer items from an AWS CloudFormation template +func (t *Template) GetAllIoTAuthorizerResources() map[string]*iot.Authorizer { + results := map[string]*iot.Authorizer{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Crawler: + case *iot.Authorizer: results[name] = resource } } return results } -// GetGlueCrawlerWithName retrieves all glue.Crawler items from an AWS CloudFormation template +// GetIoTAuthorizerWithName retrieves all iot.Authorizer 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) GetIoTAuthorizerWithName(name string) (*iot.Authorizer, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Crawler: + case *iot.Authorizer: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Crawler not found", name) + return nil, fmt.Errorf("resource %q of type iot.Authorizer 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{} +// GetAllIoTCertificateResources retrieves all iot.Certificate items from an AWS CloudFormation template +func (t *Template) GetAllIoTCertificateResources() map[string]*iot.Certificate { + results := map[string]*iot.Certificate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.DataCatalogEncryptionSettings: + case *iot.Certificate: results[name] = resource } } return results } -// GetGlueDataCatalogEncryptionSettingsWithName retrieves all glue.DataCatalogEncryptionSettings items from an AWS CloudFormation template +// GetIoTCertificateWithName retrieves all iot.Certificate items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueDataCatalogEncryptionSettingsWithName(name string) (*glue.DataCatalogEncryptionSettings, error) { +func (t *Template) GetIoTCertificateWithName(name string) (*iot.Certificate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.DataCatalogEncryptionSettings: + case *iot.Certificate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.DataCatalogEncryptionSettings not found", name) + return nil, fmt.Errorf("resource %q of type iot.Certificate not found", name) } -// GetAllGlueDatabaseResources retrieves all glue.Database items from an AWS CloudFormation template -func (t *Template) GetAllGlueDatabaseResources() map[string]*glue.Database { - results := map[string]*glue.Database{} +// GetAllIoTCustomMetricResources retrieves all iot.CustomMetric items from an AWS CloudFormation template +func (t *Template) GetAllIoTCustomMetricResources() map[string]*iot.CustomMetric { + results := map[string]*iot.CustomMetric{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Database: + case *iot.CustomMetric: results[name] = resource } } return results } -// GetGlueDatabaseWithName retrieves all glue.Database items from an AWS CloudFormation template +// GetIoTCustomMetricWithName retrieves all iot.CustomMetric items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueDatabaseWithName(name string) (*glue.Database, error) { +func (t *Template) GetIoTCustomMetricWithName(name string) (*iot.CustomMetric, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Database: + case *iot.CustomMetric: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Database not found", name) + return nil, fmt.Errorf("resource %q of type iot.CustomMetric not found", name) } -// GetAllGlueDevEndpointResources retrieves all glue.DevEndpoint items from an AWS CloudFormation template -func (t *Template) GetAllGlueDevEndpointResources() map[string]*glue.DevEndpoint { - results := map[string]*glue.DevEndpoint{} +// GetAllIoTDimensionResources retrieves all iot.Dimension items from an AWS CloudFormation template +func (t *Template) GetAllIoTDimensionResources() map[string]*iot.Dimension { + results := map[string]*iot.Dimension{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.DevEndpoint: + case *iot.Dimension: results[name] = resource } } return results } -// GetGlueDevEndpointWithName retrieves all glue.DevEndpoint items from an AWS CloudFormation template +// GetIoTDimensionWithName retrieves all iot.Dimension items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueDevEndpointWithName(name string) (*glue.DevEndpoint, error) { +func (t *Template) GetIoTDimensionWithName(name string) (*iot.Dimension, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.DevEndpoint: + case *iot.Dimension: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.DevEndpoint not found", name) + return nil, fmt.Errorf("resource %q of type iot.Dimension not found", name) } -// GetAllGlueJobResources retrieves all glue.Job items from an AWS CloudFormation template -func (t *Template) GetAllGlueJobResources() map[string]*glue.Job { - results := map[string]*glue.Job{} +// GetAllIoTDomainConfigurationResources retrieves all iot.DomainConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllIoTDomainConfigurationResources() map[string]*iot.DomainConfiguration { + results := map[string]*iot.DomainConfiguration{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Job: + case *iot.DomainConfiguration: results[name] = resource } } return results } -// GetGlueJobWithName retrieves all glue.Job items from an AWS CloudFormation template +// GetIoTDomainConfigurationWithName retrieves all iot.DomainConfiguration items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueJobWithName(name string) (*glue.Job, error) { +func (t *Template) GetIoTDomainConfigurationWithName(name string) (*iot.DomainConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Job: + case *iot.DomainConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Job not found", name) + return nil, fmt.Errorf("resource %q of type iot.DomainConfiguration not found", name) } -// GetAllGlueMLTransformResources retrieves all glue.MLTransform items from an AWS CloudFormation template -func (t *Template) GetAllGlueMLTransformResources() map[string]*glue.MLTransform { - results := map[string]*glue.MLTransform{} +// GetAllIoTMitigationActionResources retrieves all iot.MitigationAction items from an AWS CloudFormation template +func (t *Template) GetAllIoTMitigationActionResources() map[string]*iot.MitigationAction { + results := map[string]*iot.MitigationAction{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.MLTransform: + case *iot.MitigationAction: results[name] = resource } } return results } -// GetGlueMLTransformWithName retrieves all glue.MLTransform items from an AWS CloudFormation template +// GetIoTMitigationActionWithName retrieves all iot.MitigationAction items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueMLTransformWithName(name string) (*glue.MLTransform, error) { +func (t *Template) GetIoTMitigationActionWithName(name string) (*iot.MitigationAction, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.MLTransform: + case *iot.MitigationAction: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.MLTransform not found", name) + return nil, fmt.Errorf("resource %q of type iot.MitigationAction not found", name) } -// GetAllGluePartitionResources retrieves all glue.Partition items from an AWS CloudFormation template -func (t *Template) GetAllGluePartitionResources() map[string]*glue.Partition { - results := map[string]*glue.Partition{} +// GetAllIoTPolicyResources retrieves all iot.Policy items from an AWS CloudFormation template +func (t *Template) GetAllIoTPolicyResources() map[string]*iot.Policy { + results := map[string]*iot.Policy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Partition: + case *iot.Policy: results[name] = resource } } return results } -// GetGluePartitionWithName retrieves all glue.Partition items from an AWS CloudFormation template +// GetIoTPolicyWithName retrieves all iot.Policy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGluePartitionWithName(name string) (*glue.Partition, error) { +func (t *Template) GetIoTPolicyWithName(name string) (*iot.Policy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Partition: + case *iot.Policy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Partition not found", name) + return nil, fmt.Errorf("resource %q of type iot.Policy not found", name) } -// GetAllGlueSecurityConfigurationResources retrieves all glue.SecurityConfiguration items from an AWS CloudFormation template -func (t *Template) GetAllGlueSecurityConfigurationResources() map[string]*glue.SecurityConfiguration { - results := map[string]*glue.SecurityConfiguration{} +// GetAllIoTPolicyPrincipalAttachmentResources retrieves all iot.PolicyPrincipalAttachment items from an AWS CloudFormation template +func (t *Template) GetAllIoTPolicyPrincipalAttachmentResources() map[string]*iot.PolicyPrincipalAttachment { + results := map[string]*iot.PolicyPrincipalAttachment{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.SecurityConfiguration: + case *iot.PolicyPrincipalAttachment: results[name] = resource } } return results } -// GetGlueSecurityConfigurationWithName retrieves all glue.SecurityConfiguration items from an AWS CloudFormation template +// GetIoTPolicyPrincipalAttachmentWithName retrieves all iot.PolicyPrincipalAttachment items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueSecurityConfigurationWithName(name string) (*glue.SecurityConfiguration, error) { +func (t *Template) GetIoTPolicyPrincipalAttachmentWithName(name string) (*iot.PolicyPrincipalAttachment, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.SecurityConfiguration: + case *iot.PolicyPrincipalAttachment: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.SecurityConfiguration not found", name) + return nil, fmt.Errorf("resource %q of type iot.PolicyPrincipalAttachment not found", name) } -// GetAllGlueTableResources retrieves all glue.Table items from an AWS CloudFormation template -func (t *Template) GetAllGlueTableResources() map[string]*glue.Table { - results := map[string]*glue.Table{} +// 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 *glue.Table: + case *iot.ProvisioningTemplate: results[name] = resource } } return results } -// GetGlueTableWithName retrieves all glue.Table items from an AWS CloudFormation template +// 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) GetGlueTableWithName(name string) (*glue.Table, error) { +func (t *Template) GetIoTProvisioningTemplateWithName(name string) (*iot.ProvisioningTemplate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Table: + case *iot.ProvisioningTemplate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Table not found", name) + return nil, fmt.Errorf("resource %q of type iot.ProvisioningTemplate not found", name) } -// GetAllGlueTriggerResources retrieves all glue.Trigger items from an AWS CloudFormation template -func (t *Template) GetAllGlueTriggerResources() map[string]*glue.Trigger { - results := map[string]*glue.Trigger{} +// GetAllIoTScheduledAuditResources retrieves all iot.ScheduledAudit items from an AWS CloudFormation template +func (t *Template) GetAllIoTScheduledAuditResources() map[string]*iot.ScheduledAudit { + results := map[string]*iot.ScheduledAudit{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Trigger: + case *iot.ScheduledAudit: results[name] = resource } } return results } -// GetGlueTriggerWithName retrieves all glue.Trigger items from an AWS CloudFormation template +// GetIoTScheduledAuditWithName retrieves all iot.ScheduledAudit items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueTriggerWithName(name string) (*glue.Trigger, error) { +func (t *Template) GetIoTScheduledAuditWithName(name string) (*iot.ScheduledAudit, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Trigger: + case *iot.ScheduledAudit: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Trigger not found", name) + return nil, fmt.Errorf("resource %q of type iot.ScheduledAudit not found", name) } -// GetAllGlueWorkflowResources retrieves all glue.Workflow items from an AWS CloudFormation template -func (t *Template) GetAllGlueWorkflowResources() map[string]*glue.Workflow { - results := map[string]*glue.Workflow{} +// GetAllIoTSecurityProfileResources retrieves all iot.SecurityProfile items from an AWS CloudFormation template +func (t *Template) GetAllIoTSecurityProfileResources() map[string]*iot.SecurityProfile { + results := map[string]*iot.SecurityProfile{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *glue.Workflow: + case *iot.SecurityProfile: results[name] = resource } } return results } -// GetGlueWorkflowWithName retrieves all glue.Workflow items from an AWS CloudFormation template +// GetIoTSecurityProfileWithName retrieves all iot.SecurityProfile items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGlueWorkflowWithName(name string) (*glue.Workflow, error) { +func (t *Template) GetIoTSecurityProfileWithName(name string) (*iot.SecurityProfile, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *glue.Workflow: + case *iot.SecurityProfile: return resource, nil } } - return nil, fmt.Errorf("resource %q of type glue.Workflow not found", name) + return nil, fmt.Errorf("resource %q of type iot.SecurityProfile not found", name) } -// GetAllGreengrassConnectorDefinitionResources retrieves all greengrass.ConnectorDefinition items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassConnectorDefinitionResources() map[string]*greengrass.ConnectorDefinition { - results := map[string]*greengrass.ConnectorDefinition{} +// GetAllIoTThingResources retrieves all iot.Thing items from an AWS CloudFormation template +func (t *Template) GetAllIoTThingResources() map[string]*iot.Thing { + results := map[string]*iot.Thing{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.ConnectorDefinition: + case *iot.Thing: results[name] = resource } } return results } -// GetGreengrassConnectorDefinitionWithName retrieves all greengrass.ConnectorDefinition items from an AWS CloudFormation template +// GetIoTThingWithName retrieves all iot.Thing items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassConnectorDefinitionWithName(name string) (*greengrass.ConnectorDefinition, error) { +func (t *Template) GetIoTThingWithName(name string) (*iot.Thing, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.ConnectorDefinition: + case *iot.Thing: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.ConnectorDefinition not found", name) + return nil, fmt.Errorf("resource %q of type iot.Thing not found", name) } -// GetAllGreengrassConnectorDefinitionVersionResources retrieves all greengrass.ConnectorDefinitionVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassConnectorDefinitionVersionResources() map[string]*greengrass.ConnectorDefinitionVersion { - results := map[string]*greengrass.ConnectorDefinitionVersion{} +// GetAllIoTThingPrincipalAttachmentResources retrieves all iot.ThingPrincipalAttachment items from an AWS CloudFormation template +func (t *Template) GetAllIoTThingPrincipalAttachmentResources() map[string]*iot.ThingPrincipalAttachment { + results := map[string]*iot.ThingPrincipalAttachment{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.ConnectorDefinitionVersion: + case *iot.ThingPrincipalAttachment: results[name] = resource } } return results } -// GetGreengrassConnectorDefinitionVersionWithName retrieves all greengrass.ConnectorDefinitionVersion items from an AWS CloudFormation template +// GetIoTThingPrincipalAttachmentWithName retrieves all iot.ThingPrincipalAttachment items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassConnectorDefinitionVersionWithName(name string) (*greengrass.ConnectorDefinitionVersion, error) { +func (t *Template) GetIoTThingPrincipalAttachmentWithName(name string) (*iot.ThingPrincipalAttachment, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.ConnectorDefinitionVersion: + case *iot.ThingPrincipalAttachment: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.ConnectorDefinitionVersion not found", name) + return nil, fmt.Errorf("resource %q of type iot.ThingPrincipalAttachment not found", name) } -// GetAllGreengrassCoreDefinitionResources retrieves all greengrass.CoreDefinition items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassCoreDefinitionResources() map[string]*greengrass.CoreDefinition { - results := map[string]*greengrass.CoreDefinition{} +// GetAllIoTTopicRuleResources retrieves all iot.TopicRule items from an AWS CloudFormation template +func (t *Template) GetAllIoTTopicRuleResources() map[string]*iot.TopicRule { + results := map[string]*iot.TopicRule{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.CoreDefinition: + case *iot.TopicRule: results[name] = resource } } return results } -// GetGreengrassCoreDefinitionWithName retrieves all greengrass.CoreDefinition items from an AWS CloudFormation template +// GetIoTTopicRuleWithName retrieves all iot.TopicRule items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassCoreDefinitionWithName(name string) (*greengrass.CoreDefinition, error) { +func (t *Template) GetIoTTopicRuleWithName(name string) (*iot.TopicRule, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.CoreDefinition: + case *iot.TopicRule: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.CoreDefinition not found", name) + return nil, fmt.Errorf("resource %q of type iot.TopicRule not found", name) } -// GetAllGreengrassCoreDefinitionVersionResources retrieves all greengrass.CoreDefinitionVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassCoreDefinitionVersionResources() map[string]*greengrass.CoreDefinitionVersion { - results := map[string]*greengrass.CoreDefinitionVersion{} +// GetAllIoTTopicRuleDestinationResources retrieves all iot.TopicRuleDestination items from an AWS CloudFormation template +func (t *Template) GetAllIoTTopicRuleDestinationResources() map[string]*iot.TopicRuleDestination { + results := map[string]*iot.TopicRuleDestination{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.CoreDefinitionVersion: + case *iot.TopicRuleDestination: results[name] = resource } } return results } -// GetGreengrassCoreDefinitionVersionWithName retrieves all greengrass.CoreDefinitionVersion items from an AWS CloudFormation template +// GetIoTTopicRuleDestinationWithName retrieves all iot.TopicRuleDestination items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassCoreDefinitionVersionWithName(name string) (*greengrass.CoreDefinitionVersion, error) { +func (t *Template) GetIoTTopicRuleDestinationWithName(name string) (*iot.TopicRuleDestination, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.CoreDefinitionVersion: + case *iot.TopicRuleDestination: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.CoreDefinitionVersion not found", name) + return nil, fmt.Errorf("resource %q of type iot.TopicRuleDestination not found", name) } -// GetAllGreengrassDeviceDefinitionResources retrieves all greengrass.DeviceDefinition items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassDeviceDefinitionResources() map[string]*greengrass.DeviceDefinition { - results := map[string]*greengrass.DeviceDefinition{} +// GetAllIoTAnalyticsChannelResources retrieves all iotanalytics.Channel items from an AWS CloudFormation template +func (t *Template) GetAllIoTAnalyticsChannelResources() map[string]*iotanalytics.Channel { + results := map[string]*iotanalytics.Channel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.DeviceDefinition: + case *iotanalytics.Channel: results[name] = resource } } return results } -// GetGreengrassDeviceDefinitionWithName retrieves all greengrass.DeviceDefinition items from an AWS CloudFormation template +// GetIoTAnalyticsChannelWithName retrieves all iotanalytics.Channel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassDeviceDefinitionWithName(name string) (*greengrass.DeviceDefinition, error) { +func (t *Template) GetIoTAnalyticsChannelWithName(name string) (*iotanalytics.Channel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.DeviceDefinition: + case *iotanalytics.Channel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.DeviceDefinition not found", name) + return nil, fmt.Errorf("resource %q of type iotanalytics.Channel not found", name) } -// GetAllGreengrassDeviceDefinitionVersionResources retrieves all greengrass.DeviceDefinitionVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassDeviceDefinitionVersionResources() map[string]*greengrass.DeviceDefinitionVersion { - results := map[string]*greengrass.DeviceDefinitionVersion{} +// GetAllIoTAnalyticsDatasetResources retrieves all iotanalytics.Dataset items from an AWS CloudFormation template +func (t *Template) GetAllIoTAnalyticsDatasetResources() map[string]*iotanalytics.Dataset { + results := map[string]*iotanalytics.Dataset{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.DeviceDefinitionVersion: + case *iotanalytics.Dataset: results[name] = resource } } return results } -// GetGreengrassDeviceDefinitionVersionWithName retrieves all greengrass.DeviceDefinitionVersion items from an AWS CloudFormation template +// GetIoTAnalyticsDatasetWithName retrieves all iotanalytics.Dataset items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassDeviceDefinitionVersionWithName(name string) (*greengrass.DeviceDefinitionVersion, error) { +func (t *Template) GetIoTAnalyticsDatasetWithName(name string) (*iotanalytics.Dataset, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.DeviceDefinitionVersion: + case *iotanalytics.Dataset: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.DeviceDefinitionVersion not found", name) + return nil, fmt.Errorf("resource %q of type iotanalytics.Dataset not found", name) } -// GetAllGreengrassFunctionDefinitionResources retrieves all greengrass.FunctionDefinition items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassFunctionDefinitionResources() map[string]*greengrass.FunctionDefinition { - results := map[string]*greengrass.FunctionDefinition{} +// GetAllIoTAnalyticsDatastoreResources retrieves all iotanalytics.Datastore items from an AWS CloudFormation template +func (t *Template) GetAllIoTAnalyticsDatastoreResources() map[string]*iotanalytics.Datastore { + results := map[string]*iotanalytics.Datastore{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.FunctionDefinition: + case *iotanalytics.Datastore: results[name] = resource } } return results } -// GetGreengrassFunctionDefinitionWithName retrieves all greengrass.FunctionDefinition items from an AWS CloudFormation template +// GetIoTAnalyticsDatastoreWithName retrieves all iotanalytics.Datastore items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassFunctionDefinitionWithName(name string) (*greengrass.FunctionDefinition, error) { +func (t *Template) GetIoTAnalyticsDatastoreWithName(name string) (*iotanalytics.Datastore, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.FunctionDefinition: + case *iotanalytics.Datastore: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.FunctionDefinition not found", name) + return nil, fmt.Errorf("resource %q of type iotanalytics.Datastore not found", name) } -// GetAllGreengrassFunctionDefinitionVersionResources retrieves all greengrass.FunctionDefinitionVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassFunctionDefinitionVersionResources() map[string]*greengrass.FunctionDefinitionVersion { - results := map[string]*greengrass.FunctionDefinitionVersion{} +// GetAllIoTAnalyticsPipelineResources retrieves all iotanalytics.Pipeline items from an AWS CloudFormation template +func (t *Template) GetAllIoTAnalyticsPipelineResources() map[string]*iotanalytics.Pipeline { + results := map[string]*iotanalytics.Pipeline{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.FunctionDefinitionVersion: + case *iotanalytics.Pipeline: results[name] = resource } } return results } -// GetGreengrassFunctionDefinitionVersionWithName retrieves all greengrass.FunctionDefinitionVersion items from an AWS CloudFormation template +// GetIoTAnalyticsPipelineWithName retrieves all iotanalytics.Pipeline items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassFunctionDefinitionVersionWithName(name string) (*greengrass.FunctionDefinitionVersion, error) { +func (t *Template) GetIoTAnalyticsPipelineWithName(name string) (*iotanalytics.Pipeline, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.FunctionDefinitionVersion: + case *iotanalytics.Pipeline: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.FunctionDefinitionVersion not found", name) + return nil, fmt.Errorf("resource %q of type iotanalytics.Pipeline not found", name) } -// GetAllGreengrassGroupResources retrieves all greengrass.Group items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassGroupResources() map[string]*greengrass.Group { - results := map[string]*greengrass.Group{} +// GetAllIoTEventsDetectorModelResources retrieves all iotevents.DetectorModel items from an AWS CloudFormation template +func (t *Template) GetAllIoTEventsDetectorModelResources() map[string]*iotevents.DetectorModel { + results := map[string]*iotevents.DetectorModel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.Group: + case *iotevents.DetectorModel: results[name] = resource } } return results } -// GetGreengrassGroupWithName retrieves all greengrass.Group items from an AWS CloudFormation template +// GetIoTEventsDetectorModelWithName retrieves all iotevents.DetectorModel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassGroupWithName(name string) (*greengrass.Group, error) { +func (t *Template) GetIoTEventsDetectorModelWithName(name string) (*iotevents.DetectorModel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.Group: + case *iotevents.DetectorModel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.Group not found", name) + return nil, fmt.Errorf("resource %q of type iotevents.DetectorModel not found", name) } -// GetAllGreengrassGroupVersionResources retrieves all greengrass.GroupVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassGroupVersionResources() map[string]*greengrass.GroupVersion { - results := map[string]*greengrass.GroupVersion{} +// GetAllIoTEventsInputResources retrieves all iotevents.Input items from an AWS CloudFormation template +func (t *Template) GetAllIoTEventsInputResources() map[string]*iotevents.Input { + results := map[string]*iotevents.Input{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.GroupVersion: + case *iotevents.Input: results[name] = resource } } return results } -// GetGreengrassGroupVersionWithName retrieves all greengrass.GroupVersion items from an AWS CloudFormation template +// GetIoTEventsInputWithName retrieves all iotevents.Input items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassGroupVersionWithName(name string) (*greengrass.GroupVersion, error) { +func (t *Template) GetIoTEventsInputWithName(name string) (*iotevents.Input, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.GroupVersion: + case *iotevents.Input: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.GroupVersion not found", name) + return nil, fmt.Errorf("resource %q of type iotevents.Input not found", name) } -// GetAllGreengrassLoggerDefinitionResources retrieves all greengrass.LoggerDefinition items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassLoggerDefinitionResources() map[string]*greengrass.LoggerDefinition { - results := map[string]*greengrass.LoggerDefinition{} +// GetAllIoTSiteWiseAccessPolicyResources retrieves all iotsitewise.AccessPolicy items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseAccessPolicyResources() map[string]*iotsitewise.AccessPolicy { + results := map[string]*iotsitewise.AccessPolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.LoggerDefinition: + case *iotsitewise.AccessPolicy: results[name] = resource } } return results } -// GetGreengrassLoggerDefinitionWithName retrieves all greengrass.LoggerDefinition items from an AWS CloudFormation template +// GetIoTSiteWiseAccessPolicyWithName retrieves all iotsitewise.AccessPolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassLoggerDefinitionWithName(name string) (*greengrass.LoggerDefinition, error) { +func (t *Template) GetIoTSiteWiseAccessPolicyWithName(name string) (*iotsitewise.AccessPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.LoggerDefinition: + case *iotsitewise.AccessPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.LoggerDefinition not found", name) + return nil, fmt.Errorf("resource %q of type iotsitewise.AccessPolicy not found", name) } -// GetAllGreengrassLoggerDefinitionVersionResources retrieves all greengrass.LoggerDefinitionVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassLoggerDefinitionVersionResources() map[string]*greengrass.LoggerDefinitionVersion { - results := map[string]*greengrass.LoggerDefinitionVersion{} +// GetAllIoTSiteWiseAssetResources retrieves all iotsitewise.Asset items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseAssetResources() map[string]*iotsitewise.Asset { + results := map[string]*iotsitewise.Asset{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.LoggerDefinitionVersion: + case *iotsitewise.Asset: results[name] = resource } } return results } -// GetGreengrassLoggerDefinitionVersionWithName retrieves all greengrass.LoggerDefinitionVersion items from an AWS CloudFormation template +// GetIoTSiteWiseAssetWithName retrieves all iotsitewise.Asset items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassLoggerDefinitionVersionWithName(name string) (*greengrass.LoggerDefinitionVersion, error) { +func (t *Template) GetIoTSiteWiseAssetWithName(name string) (*iotsitewise.Asset, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.LoggerDefinitionVersion: + case *iotsitewise.Asset: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.LoggerDefinitionVersion not found", name) + return nil, fmt.Errorf("resource %q of type iotsitewise.Asset not found", name) } -// GetAllGreengrassResourceDefinitionResources retrieves all greengrass.ResourceDefinition items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassResourceDefinitionResources() map[string]*greengrass.ResourceDefinition { - results := map[string]*greengrass.ResourceDefinition{} +// GetAllIoTSiteWiseAssetModelResources retrieves all iotsitewise.AssetModel items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseAssetModelResources() map[string]*iotsitewise.AssetModel { + results := map[string]*iotsitewise.AssetModel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.ResourceDefinition: + case *iotsitewise.AssetModel: results[name] = resource } } return results } -// GetGreengrassResourceDefinitionWithName retrieves all greengrass.ResourceDefinition items from an AWS CloudFormation template +// GetIoTSiteWiseAssetModelWithName retrieves all iotsitewise.AssetModel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassResourceDefinitionWithName(name string) (*greengrass.ResourceDefinition, error) { +func (t *Template) GetIoTSiteWiseAssetModelWithName(name string) (*iotsitewise.AssetModel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.ResourceDefinition: + case *iotsitewise.AssetModel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.ResourceDefinition not found", name) + return nil, fmt.Errorf("resource %q of type iotsitewise.AssetModel not found", name) } -// GetAllGreengrassResourceDefinitionVersionResources retrieves all greengrass.ResourceDefinitionVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassResourceDefinitionVersionResources() map[string]*greengrass.ResourceDefinitionVersion { - results := map[string]*greengrass.ResourceDefinitionVersion{} +// GetAllIoTSiteWiseDashboardResources retrieves all iotsitewise.Dashboard items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseDashboardResources() map[string]*iotsitewise.Dashboard { + results := map[string]*iotsitewise.Dashboard{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.ResourceDefinitionVersion: + case *iotsitewise.Dashboard: results[name] = resource } } return results } -// GetGreengrassResourceDefinitionVersionWithName retrieves all greengrass.ResourceDefinitionVersion items from an AWS CloudFormation template +// GetIoTSiteWiseDashboardWithName retrieves all iotsitewise.Dashboard items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassResourceDefinitionVersionWithName(name string) (*greengrass.ResourceDefinitionVersion, error) { +func (t *Template) GetIoTSiteWiseDashboardWithName(name string) (*iotsitewise.Dashboard, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.ResourceDefinitionVersion: + case *iotsitewise.Dashboard: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.ResourceDefinitionVersion not found", name) + return nil, fmt.Errorf("resource %q of type iotsitewise.Dashboard not found", name) } -// GetAllGreengrassSubscriptionDefinitionResources retrieves all greengrass.SubscriptionDefinition items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassSubscriptionDefinitionResources() map[string]*greengrass.SubscriptionDefinition { - results := map[string]*greengrass.SubscriptionDefinition{} +// GetAllIoTSiteWiseGatewayResources retrieves all iotsitewise.Gateway items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseGatewayResources() map[string]*iotsitewise.Gateway { + results := map[string]*iotsitewise.Gateway{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.SubscriptionDefinition: + case *iotsitewise.Gateway: results[name] = resource } } return results } -// GetGreengrassSubscriptionDefinitionWithName retrieves all greengrass.SubscriptionDefinition items from an AWS CloudFormation template +// GetIoTSiteWiseGatewayWithName retrieves all iotsitewise.Gateway items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassSubscriptionDefinitionWithName(name string) (*greengrass.SubscriptionDefinition, error) { +func (t *Template) GetIoTSiteWiseGatewayWithName(name string) (*iotsitewise.Gateway, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.SubscriptionDefinition: + case *iotsitewise.Gateway: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.SubscriptionDefinition not found", name) + return nil, fmt.Errorf("resource %q of type iotsitewise.Gateway not found", name) } -// GetAllGreengrassSubscriptionDefinitionVersionResources retrieves all greengrass.SubscriptionDefinitionVersion items from an AWS CloudFormation template -func (t *Template) GetAllGreengrassSubscriptionDefinitionVersionResources() map[string]*greengrass.SubscriptionDefinitionVersion { - results := map[string]*greengrass.SubscriptionDefinitionVersion{} +// GetAllIoTSiteWisePortalResources retrieves all iotsitewise.Portal items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWisePortalResources() map[string]*iotsitewise.Portal { + results := map[string]*iotsitewise.Portal{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *greengrass.SubscriptionDefinitionVersion: + case *iotsitewise.Portal: results[name] = resource } } return results } -// GetGreengrassSubscriptionDefinitionVersionWithName retrieves all greengrass.SubscriptionDefinitionVersion items from an AWS CloudFormation template +// GetIoTSiteWisePortalWithName retrieves all iotsitewise.Portal items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGreengrassSubscriptionDefinitionVersionWithName(name string) (*greengrass.SubscriptionDefinitionVersion, error) { +func (t *Template) GetIoTSiteWisePortalWithName(name string) (*iotsitewise.Portal, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *greengrass.SubscriptionDefinitionVersion: + case *iotsitewise.Portal: return resource, nil } } - return nil, fmt.Errorf("resource %q of type greengrass.SubscriptionDefinitionVersion not found", name) + return nil, fmt.Errorf("resource %q of type iotsitewise.Portal not found", name) } -// GetAllGuardDutyDetectorResources retrieves all guardduty.Detector items from an AWS CloudFormation template -func (t *Template) GetAllGuardDutyDetectorResources() map[string]*guardduty.Detector { - results := map[string]*guardduty.Detector{} +// GetAllIoTSiteWiseProjectResources retrieves all iotsitewise.Project items from an AWS CloudFormation template +func (t *Template) GetAllIoTSiteWiseProjectResources() map[string]*iotsitewise.Project { + results := map[string]*iotsitewise.Project{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *guardduty.Detector: + case *iotsitewise.Project: results[name] = resource } } return results } -// GetGuardDutyDetectorWithName retrieves all guardduty.Detector items from an AWS CloudFormation template +// GetIoTSiteWiseProjectWithName retrieves all iotsitewise.Project items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGuardDutyDetectorWithName(name string) (*guardduty.Detector, error) { +func (t *Template) GetIoTSiteWiseProjectWithName(name string) (*iotsitewise.Project, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *guardduty.Detector: + case *iotsitewise.Project: return resource, nil } } - return nil, fmt.Errorf("resource %q of type guardduty.Detector not found", name) + return nil, fmt.Errorf("resource %q of type iotsitewise.Project not found", name) } -// GetAllGuardDutyFilterResources retrieves all guardduty.Filter items from an AWS CloudFormation template -func (t *Template) GetAllGuardDutyFilterResources() map[string]*guardduty.Filter { - results := map[string]*guardduty.Filter{} +// GetAllIoTThingsGraphFlowTemplateResources retrieves all iotthingsgraph.FlowTemplate items from an AWS CloudFormation template +func (t *Template) GetAllIoTThingsGraphFlowTemplateResources() map[string]*iotthingsgraph.FlowTemplate { + results := map[string]*iotthingsgraph.FlowTemplate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *guardduty.Filter: + case *iotthingsgraph.FlowTemplate: results[name] = resource } } return results } -// GetGuardDutyFilterWithName retrieves all guardduty.Filter items from an AWS CloudFormation template +// GetIoTThingsGraphFlowTemplateWithName retrieves all iotthingsgraph.FlowTemplate items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGuardDutyFilterWithName(name string) (*guardduty.Filter, error) { +func (t *Template) GetIoTThingsGraphFlowTemplateWithName(name string) (*iotthingsgraph.FlowTemplate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *guardduty.Filter: + case *iotthingsgraph.FlowTemplate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type guardduty.Filter not found", name) + return nil, fmt.Errorf("resource %q of type iotthingsgraph.FlowTemplate not found", name) } -// GetAllGuardDutyIPSetResources retrieves all guardduty.IPSet items from an AWS CloudFormation template -func (t *Template) GetAllGuardDutyIPSetResources() map[string]*guardduty.IPSet { - results := map[string]*guardduty.IPSet{} +// GetAllIoTWirelessDestinationResources retrieves all iotwireless.Destination items from an AWS CloudFormation template +func (t *Template) GetAllIoTWirelessDestinationResources() map[string]*iotwireless.Destination { + results := map[string]*iotwireless.Destination{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *guardduty.IPSet: + case *iotwireless.Destination: results[name] = resource } } return results } -// GetGuardDutyIPSetWithName retrieves all guardduty.IPSet items from an AWS CloudFormation template +// GetIoTWirelessDestinationWithName retrieves all iotwireless.Destination items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGuardDutyIPSetWithName(name string) (*guardduty.IPSet, error) { +func (t *Template) GetIoTWirelessDestinationWithName(name string) (*iotwireless.Destination, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *guardduty.IPSet: + case *iotwireless.Destination: return resource, nil } } - return nil, fmt.Errorf("resource %q of type guardduty.IPSet not found", name) + return nil, fmt.Errorf("resource %q of type iotwireless.Destination not found", name) } -// GetAllGuardDutyMasterResources retrieves all guardduty.Master items from an AWS CloudFormation template -func (t *Template) GetAllGuardDutyMasterResources() map[string]*guardduty.Master { - results := map[string]*guardduty.Master{} +// GetAllIoTWirelessDeviceProfileResources retrieves all iotwireless.DeviceProfile items from an AWS CloudFormation template +func (t *Template) GetAllIoTWirelessDeviceProfileResources() map[string]*iotwireless.DeviceProfile { + results := map[string]*iotwireless.DeviceProfile{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *guardduty.Master: + case *iotwireless.DeviceProfile: results[name] = resource } } return results } -// GetGuardDutyMasterWithName retrieves all guardduty.Master items from an AWS CloudFormation template +// GetIoTWirelessDeviceProfileWithName retrieves all iotwireless.DeviceProfile items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGuardDutyMasterWithName(name string) (*guardduty.Master, error) { +func (t *Template) GetIoTWirelessDeviceProfileWithName(name string) (*iotwireless.DeviceProfile, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *guardduty.Master: + case *iotwireless.DeviceProfile: return resource, nil } } - return nil, fmt.Errorf("resource %q of type guardduty.Master not found", name) + return nil, fmt.Errorf("resource %q of type iotwireless.DeviceProfile not found", name) } -// GetAllGuardDutyMemberResources retrieves all guardduty.Member items from an AWS CloudFormation template -func (t *Template) GetAllGuardDutyMemberResources() map[string]*guardduty.Member { - results := map[string]*guardduty.Member{} +// GetAllIoTWirelessServiceProfileResources retrieves all iotwireless.ServiceProfile items from an AWS CloudFormation template +func (t *Template) GetAllIoTWirelessServiceProfileResources() map[string]*iotwireless.ServiceProfile { + results := map[string]*iotwireless.ServiceProfile{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *guardduty.Member: + case *iotwireless.ServiceProfile: results[name] = resource } } return results } -// GetGuardDutyMemberWithName retrieves all guardduty.Member items from an AWS CloudFormation template +// GetIoTWirelessServiceProfileWithName retrieves all iotwireless.ServiceProfile items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGuardDutyMemberWithName(name string) (*guardduty.Member, error) { +func (t *Template) GetIoTWirelessServiceProfileWithName(name string) (*iotwireless.ServiceProfile, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *guardduty.Member: + case *iotwireless.ServiceProfile: return resource, nil } } - return nil, fmt.Errorf("resource %q of type guardduty.Member not found", name) + return nil, fmt.Errorf("resource %q of type iotwireless.ServiceProfile not found", name) } -// GetAllGuardDutyThreatIntelSetResources retrieves all guardduty.ThreatIntelSet items from an AWS CloudFormation template -func (t *Template) GetAllGuardDutyThreatIntelSetResources() map[string]*guardduty.ThreatIntelSet { - results := map[string]*guardduty.ThreatIntelSet{} +// GetAllIoTWirelessWirelessDeviceResources retrieves all iotwireless.WirelessDevice items from an AWS CloudFormation template +func (t *Template) GetAllIoTWirelessWirelessDeviceResources() map[string]*iotwireless.WirelessDevice { + results := map[string]*iotwireless.WirelessDevice{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *guardduty.ThreatIntelSet: + case *iotwireless.WirelessDevice: results[name] = resource } } return results } -// GetGuardDutyThreatIntelSetWithName retrieves all guardduty.ThreatIntelSet items from an AWS CloudFormation template +// GetIoTWirelessWirelessDeviceWithName retrieves all iotwireless.WirelessDevice items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetGuardDutyThreatIntelSetWithName(name string) (*guardduty.ThreatIntelSet, error) { +func (t *Template) GetIoTWirelessWirelessDeviceWithName(name string) (*iotwireless.WirelessDevice, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *guardduty.ThreatIntelSet: + case *iotwireless.WirelessDevice: return resource, nil } } - return nil, fmt.Errorf("resource %q of type guardduty.ThreatIntelSet not found", name) + return nil, fmt.Errorf("resource %q of type iotwireless.WirelessDevice not found", name) } -// GetAllIAMAccessKeyResources retrieves all iam.AccessKey items from an AWS CloudFormation template -func (t *Template) GetAllIAMAccessKeyResources() map[string]*iam.AccessKey { - results := map[string]*iam.AccessKey{} +// GetAllIoTWirelessWirelessGatewayResources retrieves all iotwireless.WirelessGateway items from an AWS CloudFormation template +func (t *Template) GetAllIoTWirelessWirelessGatewayResources() map[string]*iotwireless.WirelessGateway { + results := map[string]*iotwireless.WirelessGateway{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.AccessKey: + case *iotwireless.WirelessGateway: results[name] = resource } } return results } -// GetIAMAccessKeyWithName retrieves all iam.AccessKey items from an AWS CloudFormation template +// GetIoTWirelessWirelessGatewayWithName retrieves all iotwireless.WirelessGateway items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMAccessKeyWithName(name string) (*iam.AccessKey, error) { +func (t *Template) GetIoTWirelessWirelessGatewayWithName(name string) (*iotwireless.WirelessGateway, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.AccessKey: + case *iotwireless.WirelessGateway: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.AccessKey not found", name) + return nil, fmt.Errorf("resource %q of type iotwireless.WirelessGateway not found", name) } -// GetAllIAMGroupResources retrieves all iam.Group items from an AWS CloudFormation template -func (t *Template) GetAllIAMGroupResources() map[string]*iam.Group { - results := map[string]*iam.Group{} +// GetAllKMSAliasResources retrieves all kms.Alias items from an AWS CloudFormation template +func (t *Template) GetAllKMSAliasResources() map[string]*kms.Alias { + results := map[string]*kms.Alias{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.Group: + case *kms.Alias: results[name] = resource } } return results } -// GetIAMGroupWithName retrieves all iam.Group items from an AWS CloudFormation template +// GetKMSAliasWithName retrieves all kms.Alias items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMGroupWithName(name string) (*iam.Group, error) { +func (t *Template) GetKMSAliasWithName(name string) (*kms.Alias, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.Group: + case *kms.Alias: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.Group not found", name) + return nil, fmt.Errorf("resource %q of type kms.Alias not found", name) } -// GetAllIAMInstanceProfileResources retrieves all iam.InstanceProfile items from an AWS CloudFormation template -func (t *Template) GetAllIAMInstanceProfileResources() map[string]*iam.InstanceProfile { - results := map[string]*iam.InstanceProfile{} +// GetAllKMSKeyResources retrieves all kms.Key items from an AWS CloudFormation template +func (t *Template) GetAllKMSKeyResources() map[string]*kms.Key { + results := map[string]*kms.Key{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.InstanceProfile: + case *kms.Key: results[name] = resource } } return results } -// GetIAMInstanceProfileWithName retrieves all iam.InstanceProfile items from an AWS CloudFormation template +// GetKMSKeyWithName retrieves all kms.Key items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMInstanceProfileWithName(name string) (*iam.InstanceProfile, error) { +func (t *Template) GetKMSKeyWithName(name string) (*kms.Key, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.InstanceProfile: + case *kms.Key: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.InstanceProfile not found", name) + return nil, fmt.Errorf("resource %q of type kms.Key not found", name) } -// GetAllIAMManagedPolicyResources retrieves all iam.ManagedPolicy items from an AWS CloudFormation template -func (t *Template) GetAllIAMManagedPolicyResources() map[string]*iam.ManagedPolicy { - results := map[string]*iam.ManagedPolicy{} +// GetAllKendraDataSourceResources retrieves all kendra.DataSource items from an AWS CloudFormation template +func (t *Template) GetAllKendraDataSourceResources() map[string]*kendra.DataSource { + results := map[string]*kendra.DataSource{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.ManagedPolicy: + case *kendra.DataSource: results[name] = resource } } return results } -// GetIAMManagedPolicyWithName retrieves all iam.ManagedPolicy items from an AWS CloudFormation template +// GetKendraDataSourceWithName retrieves all kendra.DataSource items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMManagedPolicyWithName(name string) (*iam.ManagedPolicy, error) { +func (t *Template) GetKendraDataSourceWithName(name string) (*kendra.DataSource, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.ManagedPolicy: + case *kendra.DataSource: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.ManagedPolicy not found", name) + return nil, fmt.Errorf("resource %q of type kendra.DataSource not found", name) } -// GetAllIAMPolicyResources retrieves all iam.Policy items from an AWS CloudFormation template -func (t *Template) GetAllIAMPolicyResources() map[string]*iam.Policy { - results := map[string]*iam.Policy{} +// GetAllKendraFaqResources retrieves all kendra.Faq items from an AWS CloudFormation template +func (t *Template) GetAllKendraFaqResources() map[string]*kendra.Faq { + results := map[string]*kendra.Faq{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.Policy: + case *kendra.Faq: results[name] = resource } } return results } -// GetIAMPolicyWithName retrieves all iam.Policy items from an AWS CloudFormation template +// GetKendraFaqWithName retrieves all kendra.Faq items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMPolicyWithName(name string) (*iam.Policy, error) { +func (t *Template) GetKendraFaqWithName(name string) (*kendra.Faq, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.Policy: + case *kendra.Faq: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.Policy not found", name) + return nil, fmt.Errorf("resource %q of type kendra.Faq not found", name) } -// GetAllIAMRoleResources retrieves all iam.Role items from an AWS CloudFormation template -func (t *Template) GetAllIAMRoleResources() map[string]*iam.Role { - results := map[string]*iam.Role{} +// GetAllKendraIndexResources retrieves all kendra.Index items from an AWS CloudFormation template +func (t *Template) GetAllKendraIndexResources() map[string]*kendra.Index { + results := map[string]*kendra.Index{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.Role: + case *kendra.Index: results[name] = resource } } return results } -// GetIAMRoleWithName retrieves all iam.Role items from an AWS CloudFormation template +// GetKendraIndexWithName retrieves all kendra.Index items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMRoleWithName(name string) (*iam.Role, error) { +func (t *Template) GetKendraIndexWithName(name string) (*kendra.Index, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.Role: + case *kendra.Index: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.Role not found", name) + return nil, fmt.Errorf("resource %q of type kendra.Index not found", name) } -// GetAllIAMServiceLinkedRoleResources retrieves all iam.ServiceLinkedRole items from an AWS CloudFormation template -func (t *Template) GetAllIAMServiceLinkedRoleResources() map[string]*iam.ServiceLinkedRole { - results := map[string]*iam.ServiceLinkedRole{} +// GetAllKinesisStreamResources retrieves all kinesis.Stream items from an AWS CloudFormation template +func (t *Template) GetAllKinesisStreamResources() map[string]*kinesis.Stream { + results := map[string]*kinesis.Stream{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.ServiceLinkedRole: + case *kinesis.Stream: results[name] = resource } } return results } -// GetIAMServiceLinkedRoleWithName retrieves all iam.ServiceLinkedRole items from an AWS CloudFormation template +// GetKinesisStreamWithName retrieves all kinesis.Stream items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMServiceLinkedRoleWithName(name string) (*iam.ServiceLinkedRole, error) { +func (t *Template) GetKinesisStreamWithName(name string) (*kinesis.Stream, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.ServiceLinkedRole: + case *kinesis.Stream: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.ServiceLinkedRole not found", name) + return nil, fmt.Errorf("resource %q of type kinesis.Stream not found", name) } -// GetAllIAMUserResources retrieves all iam.User items from an AWS CloudFormation template -func (t *Template) GetAllIAMUserResources() map[string]*iam.User { - results := map[string]*iam.User{} +// GetAllKinesisStreamConsumerResources retrieves all kinesis.StreamConsumer items from an AWS CloudFormation template +func (t *Template) GetAllKinesisStreamConsumerResources() map[string]*kinesis.StreamConsumer { + results := map[string]*kinesis.StreamConsumer{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.User: + case *kinesis.StreamConsumer: results[name] = resource } } return results } -// GetIAMUserWithName retrieves all iam.User items from an AWS CloudFormation template +// GetKinesisStreamConsumerWithName retrieves all kinesis.StreamConsumer items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMUserWithName(name string) (*iam.User, error) { +func (t *Template) GetKinesisStreamConsumerWithName(name string) (*kinesis.StreamConsumer, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.User: + case *kinesis.StreamConsumer: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.User not found", name) + return nil, fmt.Errorf("resource %q of type kinesis.StreamConsumer not found", name) } -// GetAllIAMUserToGroupAdditionResources retrieves all iam.UserToGroupAddition items from an AWS CloudFormation template -func (t *Template) GetAllIAMUserToGroupAdditionResources() map[string]*iam.UserToGroupAddition { - results := map[string]*iam.UserToGroupAddition{} +// GetAllKinesisAnalyticsApplicationResources retrieves all kinesisanalytics.Application items from an AWS CloudFormation template +func (t *Template) GetAllKinesisAnalyticsApplicationResources() map[string]*kinesisanalytics.Application { + results := map[string]*kinesisanalytics.Application{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iam.UserToGroupAddition: + case *kinesisanalytics.Application: results[name] = resource } } return results } -// GetIAMUserToGroupAdditionWithName retrieves all iam.UserToGroupAddition items from an AWS CloudFormation template +// GetKinesisAnalyticsApplicationWithName retrieves all kinesisanalytics.Application items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIAMUserToGroupAdditionWithName(name string) (*iam.UserToGroupAddition, error) { +func (t *Template) GetKinesisAnalyticsApplicationWithName(name string) (*kinesisanalytics.Application, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iam.UserToGroupAddition: + case *kinesisanalytics.Application: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iam.UserToGroupAddition not found", name) + return nil, fmt.Errorf("resource %q of type kinesisanalytics.Application not found", name) } -// GetAllIVSChannelResources retrieves all ivs.Channel items from an AWS CloudFormation template -func (t *Template) GetAllIVSChannelResources() map[string]*ivs.Channel { - results := map[string]*ivs.Channel{} +// GetAllKinesisAnalyticsApplicationOutputResources retrieves all kinesisanalytics.ApplicationOutput items from an AWS CloudFormation template +func (t *Template) GetAllKinesisAnalyticsApplicationOutputResources() map[string]*kinesisanalytics.ApplicationOutput { + results := map[string]*kinesisanalytics.ApplicationOutput{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ivs.Channel: + case *kinesisanalytics.ApplicationOutput: results[name] = resource } } return results } -// GetIVSChannelWithName retrieves all ivs.Channel items from an AWS CloudFormation template +// GetKinesisAnalyticsApplicationOutputWithName retrieves all kinesisanalytics.ApplicationOutput items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIVSChannelWithName(name string) (*ivs.Channel, error) { +func (t *Template) GetKinesisAnalyticsApplicationOutputWithName(name string) (*kinesisanalytics.ApplicationOutput, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ivs.Channel: + case *kinesisanalytics.ApplicationOutput: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ivs.Channel not found", name) + return nil, fmt.Errorf("resource %q of type kinesisanalytics.ApplicationOutput not found", name) } -// GetAllIVSPlaybackKeyPairResources retrieves all ivs.PlaybackKeyPair items from an AWS CloudFormation template -func (t *Template) GetAllIVSPlaybackKeyPairResources() map[string]*ivs.PlaybackKeyPair { - results := map[string]*ivs.PlaybackKeyPair{} +// GetAllKinesisAnalyticsApplicationReferenceDataSourceResources retrieves all kinesisanalytics.ApplicationReferenceDataSource items from an AWS CloudFormation template +func (t *Template) GetAllKinesisAnalyticsApplicationReferenceDataSourceResources() map[string]*kinesisanalytics.ApplicationReferenceDataSource { + results := map[string]*kinesisanalytics.ApplicationReferenceDataSource{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ivs.PlaybackKeyPair: + case *kinesisanalytics.ApplicationReferenceDataSource: results[name] = resource } } return results } -// GetIVSPlaybackKeyPairWithName retrieves all ivs.PlaybackKeyPair items from an AWS CloudFormation template +// GetKinesisAnalyticsApplicationReferenceDataSourceWithName retrieves all kinesisanalytics.ApplicationReferenceDataSource items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIVSPlaybackKeyPairWithName(name string) (*ivs.PlaybackKeyPair, error) { +func (t *Template) GetKinesisAnalyticsApplicationReferenceDataSourceWithName(name string) (*kinesisanalytics.ApplicationReferenceDataSource, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ivs.PlaybackKeyPair: + case *kinesisanalytics.ApplicationReferenceDataSource: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ivs.PlaybackKeyPair not found", name) + return nil, fmt.Errorf("resource %q of type kinesisanalytics.ApplicationReferenceDataSource not found", name) } -// GetAllIVSStreamKeyResources retrieves all ivs.StreamKey items from an AWS CloudFormation template -func (t *Template) GetAllIVSStreamKeyResources() map[string]*ivs.StreamKey { - results := map[string]*ivs.StreamKey{} +// GetAllKinesisAnalyticsV2ApplicationResources retrieves all kinesisanalyticsv2.Application items from an AWS CloudFormation template +func (t *Template) GetAllKinesisAnalyticsV2ApplicationResources() map[string]*kinesisanalyticsv2.Application { + results := map[string]*kinesisanalyticsv2.Application{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ivs.StreamKey: + case *kinesisanalyticsv2.Application: results[name] = resource } } return results } -// GetIVSStreamKeyWithName retrieves all ivs.StreamKey items from an AWS CloudFormation template +// GetKinesisAnalyticsV2ApplicationWithName retrieves all kinesisanalyticsv2.Application items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIVSStreamKeyWithName(name string) (*ivs.StreamKey, error) { +func (t *Template) GetKinesisAnalyticsV2ApplicationWithName(name string) (*kinesisanalyticsv2.Application, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ivs.StreamKey: + case *kinesisanalyticsv2.Application: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ivs.StreamKey not found", name) + return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.Application 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{} +// GetAllKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionResources retrieves all kinesisanalyticsv2.ApplicationCloudWatchLoggingOption items from an AWS CloudFormation template +func (t *Template) GetAllKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionResources() map[string]*kinesisanalyticsv2.ApplicationCloudWatchLoggingOption { + results := map[string]*kinesisanalyticsv2.ApplicationCloudWatchLoggingOption{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *imagebuilder.Component: + case *kinesisanalyticsv2.ApplicationCloudWatchLoggingOption: results[name] = resource } } return results } -// GetImageBuilderComponentWithName retrieves all imagebuilder.Component items from an AWS CloudFormation template +// GetKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionWithName retrieves all kinesisanalyticsv2.ApplicationCloudWatchLoggingOption 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) { +func (t *Template) GetKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionWithName(name string) (*kinesisanalyticsv2.ApplicationCloudWatchLoggingOption, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *imagebuilder.Component: + case *kinesisanalyticsv2.ApplicationCloudWatchLoggingOption: return resource, nil } } - return nil, fmt.Errorf("resource %q of type imagebuilder.Component not found", name) + return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.ApplicationCloudWatchLoggingOption 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{} +// GetAllKinesisAnalyticsV2ApplicationOutputResources retrieves all kinesisanalyticsv2.ApplicationOutput items from an AWS CloudFormation template +func (t *Template) GetAllKinesisAnalyticsV2ApplicationOutputResources() map[string]*kinesisanalyticsv2.ApplicationOutput { + results := map[string]*kinesisanalyticsv2.ApplicationOutput{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *imagebuilder.DistributionConfiguration: + case *kinesisanalyticsv2.ApplicationOutput: results[name] = resource } } return results } -// GetImageBuilderDistributionConfigurationWithName retrieves all imagebuilder.DistributionConfiguration items from an AWS CloudFormation template +// GetKinesisAnalyticsV2ApplicationOutputWithName retrieves all kinesisanalyticsv2.ApplicationOutput 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) { +func (t *Template) GetKinesisAnalyticsV2ApplicationOutputWithName(name string) (*kinesisanalyticsv2.ApplicationOutput, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *imagebuilder.DistributionConfiguration: + case *kinesisanalyticsv2.ApplicationOutput: return resource, nil } } - return nil, fmt.Errorf("resource %q of type imagebuilder.DistributionConfiguration not found", name) + return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.ApplicationOutput 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{} +// GetAllKinesisAnalyticsV2ApplicationReferenceDataSourceResources retrieves all kinesisanalyticsv2.ApplicationReferenceDataSource items from an AWS CloudFormation template +func (t *Template) GetAllKinesisAnalyticsV2ApplicationReferenceDataSourceResources() map[string]*kinesisanalyticsv2.ApplicationReferenceDataSource { + results := map[string]*kinesisanalyticsv2.ApplicationReferenceDataSource{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *imagebuilder.Image: + case *kinesisanalyticsv2.ApplicationReferenceDataSource: results[name] = resource } } return results } -// GetImageBuilderImageWithName retrieves all imagebuilder.Image items from an AWS CloudFormation template +// GetKinesisAnalyticsV2ApplicationReferenceDataSourceWithName retrieves all kinesisanalyticsv2.ApplicationReferenceDataSource 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) { +func (t *Template) GetKinesisAnalyticsV2ApplicationReferenceDataSourceWithName(name string) (*kinesisanalyticsv2.ApplicationReferenceDataSource, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *imagebuilder.Image: + case *kinesisanalyticsv2.ApplicationReferenceDataSource: return resource, nil } } - return nil, fmt.Errorf("resource %q of type imagebuilder.Image not found", name) + return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.ApplicationReferenceDataSource 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{} +// GetAllKinesisFirehoseDeliveryStreamResources retrieves all kinesisfirehose.DeliveryStream items from an AWS CloudFormation template +func (t *Template) GetAllKinesisFirehoseDeliveryStreamResources() map[string]*kinesisfirehose.DeliveryStream { + results := map[string]*kinesisfirehose.DeliveryStream{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *imagebuilder.ImagePipeline: + case *kinesisfirehose.DeliveryStream: results[name] = resource } } return results } -// GetImageBuilderImagePipelineWithName retrieves all imagebuilder.ImagePipeline items from an AWS CloudFormation template +// GetKinesisFirehoseDeliveryStreamWithName retrieves all kinesisfirehose.DeliveryStream 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) { +func (t *Template) GetKinesisFirehoseDeliveryStreamWithName(name string) (*kinesisfirehose.DeliveryStream, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *imagebuilder.ImagePipeline: + case *kinesisfirehose.DeliveryStream: return resource, nil } } - return nil, fmt.Errorf("resource %q of type imagebuilder.ImagePipeline not found", name) + return nil, fmt.Errorf("resource %q of type kinesisfirehose.DeliveryStream 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{} +// GetAllLakeFormationDataLakeSettingsResources retrieves all lakeformation.DataLakeSettings items from an AWS CloudFormation template +func (t *Template) GetAllLakeFormationDataLakeSettingsResources() map[string]*lakeformation.DataLakeSettings { + results := map[string]*lakeformation.DataLakeSettings{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *imagebuilder.ImageRecipe: + case *lakeformation.DataLakeSettings: results[name] = resource } } return results } -// GetImageBuilderImageRecipeWithName retrieves all imagebuilder.ImageRecipe items from an AWS CloudFormation template +// GetLakeFormationDataLakeSettingsWithName retrieves all lakeformation.DataLakeSettings 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) { +func (t *Template) GetLakeFormationDataLakeSettingsWithName(name string) (*lakeformation.DataLakeSettings, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *imagebuilder.ImageRecipe: + case *lakeformation.DataLakeSettings: return resource, nil } } - return nil, fmt.Errorf("resource %q of type imagebuilder.ImageRecipe not found", name) + return nil, fmt.Errorf("resource %q of type lakeformation.DataLakeSettings 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{} +// GetAllLakeFormationPermissionsResources retrieves all lakeformation.Permissions items from an AWS CloudFormation template +func (t *Template) GetAllLakeFormationPermissionsResources() map[string]*lakeformation.Permissions { + results := map[string]*lakeformation.Permissions{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *imagebuilder.InfrastructureConfiguration: + case *lakeformation.Permissions: results[name] = resource } } return results } -// GetImageBuilderInfrastructureConfigurationWithName retrieves all imagebuilder.InfrastructureConfiguration items from an AWS CloudFormation template +// GetLakeFormationPermissionsWithName retrieves all lakeformation.Permissions 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) { +func (t *Template) GetLakeFormationPermissionsWithName(name string) (*lakeformation.Permissions, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *imagebuilder.InfrastructureConfiguration: + case *lakeformation.Permissions: return resource, nil } } - return nil, fmt.Errorf("resource %q of type imagebuilder.InfrastructureConfiguration not found", name) + return nil, fmt.Errorf("resource %q of type lakeformation.Permissions 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{} +// GetAllLakeFormationResourceResources retrieves all lakeformation.Resource items from an AWS CloudFormation template +func (t *Template) GetAllLakeFormationResourceResources() map[string]*lakeformation.Resource { + results := map[string]*lakeformation.Resource{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *inspector.AssessmentTarget: + case *lakeformation.Resource: results[name] = resource } } return results } -// GetInspectorAssessmentTargetWithName retrieves all inspector.AssessmentTarget items from an AWS CloudFormation template +// GetLakeFormationResourceWithName retrieves all lakeformation.Resource items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetInspectorAssessmentTargetWithName(name string) (*inspector.AssessmentTarget, error) { +func (t *Template) GetLakeFormationResourceWithName(name string) (*lakeformation.Resource, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *inspector.AssessmentTarget: + case *lakeformation.Resource: return resource, nil } } - return nil, fmt.Errorf("resource %q of type inspector.AssessmentTarget not found", name) + return nil, fmt.Errorf("resource %q of type lakeformation.Resource not found", name) } -// GetAllInspectorAssessmentTemplateResources retrieves all inspector.AssessmentTemplate items from an AWS CloudFormation template -func (t *Template) GetAllInspectorAssessmentTemplateResources() map[string]*inspector.AssessmentTemplate { - results := map[string]*inspector.AssessmentTemplate{} +// GetAllLambdaAliasResources retrieves all lambda.Alias items from an AWS CloudFormation template +func (t *Template) GetAllLambdaAliasResources() map[string]*lambda.Alias { + results := map[string]*lambda.Alias{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *inspector.AssessmentTemplate: + case *lambda.Alias: results[name] = resource } } return results } -// GetInspectorAssessmentTemplateWithName retrieves all inspector.AssessmentTemplate items from an AWS CloudFormation template +// GetLambdaAliasWithName retrieves all lambda.Alias items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetInspectorAssessmentTemplateWithName(name string) (*inspector.AssessmentTemplate, error) { +func (t *Template) GetLambdaAliasWithName(name string) (*lambda.Alias, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *inspector.AssessmentTemplate: + case *lambda.Alias: return resource, nil } } - return nil, fmt.Errorf("resource %q of type inspector.AssessmentTemplate not found", name) + return nil, fmt.Errorf("resource %q of type lambda.Alias not found", name) } -// GetAllInspectorResourceGroupResources retrieves all inspector.ResourceGroup items from an AWS CloudFormation template -func (t *Template) GetAllInspectorResourceGroupResources() map[string]*inspector.ResourceGroup { - results := map[string]*inspector.ResourceGroup{} +// GetAllLambdaCodeSigningConfigResources retrieves all lambda.CodeSigningConfig items from an AWS CloudFormation template +func (t *Template) GetAllLambdaCodeSigningConfigResources() map[string]*lambda.CodeSigningConfig { + results := map[string]*lambda.CodeSigningConfig{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *inspector.ResourceGroup: + case *lambda.CodeSigningConfig: results[name] = resource } } return results } -// GetInspectorResourceGroupWithName retrieves all inspector.ResourceGroup items from an AWS CloudFormation template +// GetLambdaCodeSigningConfigWithName retrieves all lambda.CodeSigningConfig items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetInspectorResourceGroupWithName(name string) (*inspector.ResourceGroup, error) { +func (t *Template) GetLambdaCodeSigningConfigWithName(name string) (*lambda.CodeSigningConfig, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *inspector.ResourceGroup: + case *lambda.CodeSigningConfig: return resource, nil } } - return nil, fmt.Errorf("resource %q of type inspector.ResourceGroup not found", name) + return nil, fmt.Errorf("resource %q of type lambda.CodeSigningConfig not found", name) } -// GetAllIoT1ClickDeviceResources retrieves all iot1click.Device items from an AWS CloudFormation template -func (t *Template) GetAllIoT1ClickDeviceResources() map[string]*iot1click.Device { - results := map[string]*iot1click.Device{} +// GetAllLambdaEventInvokeConfigResources retrieves all lambda.EventInvokeConfig items from an AWS CloudFormation template +func (t *Template) GetAllLambdaEventInvokeConfigResources() map[string]*lambda.EventInvokeConfig { + results := map[string]*lambda.EventInvokeConfig{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot1click.Device: + case *lambda.EventInvokeConfig: results[name] = resource } } return results } -// GetIoT1ClickDeviceWithName retrieves all iot1click.Device items from an AWS CloudFormation template +// GetLambdaEventInvokeConfigWithName retrieves all lambda.EventInvokeConfig items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoT1ClickDeviceWithName(name string) (*iot1click.Device, error) { +func (t *Template) GetLambdaEventInvokeConfigWithName(name string) (*lambda.EventInvokeConfig, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot1click.Device: + case *lambda.EventInvokeConfig: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot1click.Device not found", name) + return nil, fmt.Errorf("resource %q of type lambda.EventInvokeConfig not found", name) } -// GetAllIoT1ClickPlacementResources retrieves all iot1click.Placement items from an AWS CloudFormation template -func (t *Template) GetAllIoT1ClickPlacementResources() map[string]*iot1click.Placement { - results := map[string]*iot1click.Placement{} +// GetAllLambdaEventSourceMappingResources retrieves all lambda.EventSourceMapping items from an AWS CloudFormation template +func (t *Template) GetAllLambdaEventSourceMappingResources() map[string]*lambda.EventSourceMapping { + results := map[string]*lambda.EventSourceMapping{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot1click.Placement: + case *lambda.EventSourceMapping: results[name] = resource } } return results } -// GetIoT1ClickPlacementWithName retrieves all iot1click.Placement items from an AWS CloudFormation template +// GetLambdaEventSourceMappingWithName retrieves all lambda.EventSourceMapping items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoT1ClickPlacementWithName(name string) (*iot1click.Placement, error) { +func (t *Template) GetLambdaEventSourceMappingWithName(name string) (*lambda.EventSourceMapping, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot1click.Placement: + case *lambda.EventSourceMapping: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot1click.Placement not found", name) + return nil, fmt.Errorf("resource %q of type lambda.EventSourceMapping not found", name) } -// GetAllIoT1ClickProjectResources retrieves all iot1click.Project items from an AWS CloudFormation template -func (t *Template) GetAllIoT1ClickProjectResources() map[string]*iot1click.Project { - results := map[string]*iot1click.Project{} +// GetAllLambdaFunctionResources retrieves all lambda.Function items from an AWS CloudFormation template +func (t *Template) GetAllLambdaFunctionResources() map[string]*lambda.Function { + results := map[string]*lambda.Function{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot1click.Project: + case *lambda.Function: results[name] = resource } } return results } -// GetIoT1ClickProjectWithName retrieves all iot1click.Project items from an AWS CloudFormation template +// GetLambdaFunctionWithName retrieves all lambda.Function items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoT1ClickProjectWithName(name string) (*iot1click.Project, error) { +func (t *Template) GetLambdaFunctionWithName(name string) (*lambda.Function, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot1click.Project: + case *lambda.Function: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot1click.Project not found", name) + return nil, fmt.Errorf("resource %q of type lambda.Function not found", name) } -// GetAllIoTAuthorizerResources retrieves all iot.Authorizer items from an AWS CloudFormation template -func (t *Template) GetAllIoTAuthorizerResources() map[string]*iot.Authorizer { - results := map[string]*iot.Authorizer{} +// GetAllLambdaLayerVersionResources retrieves all lambda.LayerVersion items from an AWS CloudFormation template +func (t *Template) GetAllLambdaLayerVersionResources() map[string]*lambda.LayerVersion { + results := map[string]*lambda.LayerVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.Authorizer: + case *lambda.LayerVersion: results[name] = resource } } return results } -// GetIoTAuthorizerWithName retrieves all iot.Authorizer items from an AWS CloudFormation template +// GetLambdaLayerVersionWithName retrieves all lambda.LayerVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTAuthorizerWithName(name string) (*iot.Authorizer, error) { +func (t *Template) GetLambdaLayerVersionWithName(name string) (*lambda.LayerVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.Authorizer: + case *lambda.LayerVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.Authorizer not found", name) + return nil, fmt.Errorf("resource %q of type lambda.LayerVersion not found", name) } -// GetAllIoTCertificateResources retrieves all iot.Certificate items from an AWS CloudFormation template -func (t *Template) GetAllIoTCertificateResources() map[string]*iot.Certificate { - results := map[string]*iot.Certificate{} +// GetAllLambdaLayerVersionPermissionResources retrieves all lambda.LayerVersionPermission items from an AWS CloudFormation template +func (t *Template) GetAllLambdaLayerVersionPermissionResources() map[string]*lambda.LayerVersionPermission { + results := map[string]*lambda.LayerVersionPermission{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.Certificate: + case *lambda.LayerVersionPermission: results[name] = resource } } return results } -// GetIoTCertificateWithName retrieves all iot.Certificate items from an AWS CloudFormation template +// GetLambdaLayerVersionPermissionWithName retrieves all lambda.LayerVersionPermission items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTCertificateWithName(name string) (*iot.Certificate, error) { +func (t *Template) GetLambdaLayerVersionPermissionWithName(name string) (*lambda.LayerVersionPermission, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.Certificate: + case *lambda.LayerVersionPermission: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.Certificate not found", name) + return nil, fmt.Errorf("resource %q of type lambda.LayerVersionPermission not found", name) } -// GetAllIoTPolicyResources retrieves all iot.Policy items from an AWS CloudFormation template -func (t *Template) GetAllIoTPolicyResources() map[string]*iot.Policy { - results := map[string]*iot.Policy{} +// GetAllLambdaPermissionResources retrieves all lambda.Permission items from an AWS CloudFormation template +func (t *Template) GetAllLambdaPermissionResources() map[string]*lambda.Permission { + results := map[string]*lambda.Permission{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.Policy: + case *lambda.Permission: results[name] = resource } } return results } -// GetIoTPolicyWithName retrieves all iot.Policy items from an AWS CloudFormation template +// GetLambdaPermissionWithName retrieves all lambda.Permission items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTPolicyWithName(name string) (*iot.Policy, error) { +func (t *Template) GetLambdaPermissionWithName(name string) (*lambda.Permission, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.Policy: + case *lambda.Permission: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.Policy not found", name) + return nil, fmt.Errorf("resource %q of type lambda.Permission not found", name) } -// GetAllIoTPolicyPrincipalAttachmentResources retrieves all iot.PolicyPrincipalAttachment items from an AWS CloudFormation template -func (t *Template) GetAllIoTPolicyPrincipalAttachmentResources() map[string]*iot.PolicyPrincipalAttachment { - results := map[string]*iot.PolicyPrincipalAttachment{} +// GetAllLambdaVersionResources retrieves all lambda.Version items from an AWS CloudFormation template +func (t *Template) GetAllLambdaVersionResources() map[string]*lambda.Version { + results := map[string]*lambda.Version{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.PolicyPrincipalAttachment: + case *lambda.Version: results[name] = resource } } return results } -// GetIoTPolicyPrincipalAttachmentWithName retrieves all iot.PolicyPrincipalAttachment items from an AWS CloudFormation template +// GetLambdaVersionWithName retrieves all lambda.Version items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTPolicyPrincipalAttachmentWithName(name string) (*iot.PolicyPrincipalAttachment, error) { +func (t *Template) GetLambdaVersionWithName(name string) (*lambda.Version, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.PolicyPrincipalAttachment: + case *lambda.Version: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.PolicyPrincipalAttachment not found", name) + return nil, fmt.Errorf("resource %q of type lambda.Version 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{} +// GetAllLicenseManagerGrantResources retrieves all licensemanager.Grant items from an AWS CloudFormation template +func (t *Template) GetAllLicenseManagerGrantResources() map[string]*licensemanager.Grant { + results := map[string]*licensemanager.Grant{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.ProvisioningTemplate: + case *licensemanager.Grant: results[name] = resource } } return results } -// GetIoTProvisioningTemplateWithName retrieves all iot.ProvisioningTemplate items from an AWS CloudFormation template +// GetLicenseManagerGrantWithName retrieves all licensemanager.Grant 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) { +func (t *Template) GetLicenseManagerGrantWithName(name string) (*licensemanager.Grant, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.ProvisioningTemplate: + case *licensemanager.Grant: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.ProvisioningTemplate not found", name) + return nil, fmt.Errorf("resource %q of type licensemanager.Grant 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{} +// GetAllLicenseManagerLicenseResources retrieves all licensemanager.License items from an AWS CloudFormation template +func (t *Template) GetAllLicenseManagerLicenseResources() map[string]*licensemanager.License { + results := map[string]*licensemanager.License{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.Thing: + case *licensemanager.License: results[name] = resource } } return results } -// GetIoTThingWithName retrieves all iot.Thing items from an AWS CloudFormation template +// GetLicenseManagerLicenseWithName retrieves all licensemanager.License items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTThingWithName(name string) (*iot.Thing, error) { +func (t *Template) GetLicenseManagerLicenseWithName(name string) (*licensemanager.License, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.Thing: + case *licensemanager.License: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.Thing not found", name) + return nil, fmt.Errorf("resource %q of type licensemanager.License not found", name) } -// GetAllIoTThingPrincipalAttachmentResources retrieves all iot.ThingPrincipalAttachment items from an AWS CloudFormation template -func (t *Template) GetAllIoTThingPrincipalAttachmentResources() map[string]*iot.ThingPrincipalAttachment { - results := map[string]*iot.ThingPrincipalAttachment{} +// GetAllLogsDestinationResources retrieves all logs.Destination items from an AWS CloudFormation template +func (t *Template) GetAllLogsDestinationResources() map[string]*logs.Destination { + results := map[string]*logs.Destination{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.ThingPrincipalAttachment: + case *logs.Destination: results[name] = resource } } return results } -// GetIoTThingPrincipalAttachmentWithName retrieves all iot.ThingPrincipalAttachment items from an AWS CloudFormation template +// GetLogsDestinationWithName retrieves all logs.Destination items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTThingPrincipalAttachmentWithName(name string) (*iot.ThingPrincipalAttachment, error) { +func (t *Template) GetLogsDestinationWithName(name string) (*logs.Destination, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.ThingPrincipalAttachment: + case *logs.Destination: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.ThingPrincipalAttachment not found", name) + return nil, fmt.Errorf("resource %q of type logs.Destination not found", name) } -// GetAllIoTTopicRuleResources retrieves all iot.TopicRule items from an AWS CloudFormation template -func (t *Template) GetAllIoTTopicRuleResources() map[string]*iot.TopicRule { - results := map[string]*iot.TopicRule{} +// GetAllLogsLogGroupResources retrieves all logs.LogGroup items from an AWS CloudFormation template +func (t *Template) GetAllLogsLogGroupResources() map[string]*logs.LogGroup { + results := map[string]*logs.LogGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iot.TopicRule: + case *logs.LogGroup: results[name] = resource } } return results } -// GetIoTTopicRuleWithName retrieves all iot.TopicRule items from an AWS CloudFormation template +// GetLogsLogGroupWithName retrieves all logs.LogGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTTopicRuleWithName(name string) (*iot.TopicRule, error) { +func (t *Template) GetLogsLogGroupWithName(name string) (*logs.LogGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iot.TopicRule: + case *logs.LogGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iot.TopicRule not found", name) + return nil, fmt.Errorf("resource %q of type logs.LogGroup not found", name) } -// GetAllIoTAnalyticsChannelResources retrieves all iotanalytics.Channel items from an AWS CloudFormation template -func (t *Template) GetAllIoTAnalyticsChannelResources() map[string]*iotanalytics.Channel { - results := map[string]*iotanalytics.Channel{} +// GetAllLogsLogStreamResources retrieves all logs.LogStream items from an AWS CloudFormation template +func (t *Template) GetAllLogsLogStreamResources() map[string]*logs.LogStream { + results := map[string]*logs.LogStream{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iotanalytics.Channel: + case *logs.LogStream: results[name] = resource } } return results } -// GetIoTAnalyticsChannelWithName retrieves all iotanalytics.Channel items from an AWS CloudFormation template +// GetLogsLogStreamWithName retrieves all logs.LogStream items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTAnalyticsChannelWithName(name string) (*iotanalytics.Channel, error) { +func (t *Template) GetLogsLogStreamWithName(name string) (*logs.LogStream, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotanalytics.Channel: + case *logs.LogStream: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotanalytics.Channel not found", name) + return nil, fmt.Errorf("resource %q of type logs.LogStream not found", name) } -// GetAllIoTAnalyticsDatasetResources retrieves all iotanalytics.Dataset items from an AWS CloudFormation template -func (t *Template) GetAllIoTAnalyticsDatasetResources() map[string]*iotanalytics.Dataset { - results := map[string]*iotanalytics.Dataset{} +// GetAllLogsMetricFilterResources retrieves all logs.MetricFilter items from an AWS CloudFormation template +func (t *Template) GetAllLogsMetricFilterResources() map[string]*logs.MetricFilter { + results := map[string]*logs.MetricFilter{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iotanalytics.Dataset: + case *logs.MetricFilter: results[name] = resource } } return results } -// GetIoTAnalyticsDatasetWithName retrieves all iotanalytics.Dataset items from an AWS CloudFormation template +// GetLogsMetricFilterWithName retrieves all logs.MetricFilter items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTAnalyticsDatasetWithName(name string) (*iotanalytics.Dataset, error) { +func (t *Template) GetLogsMetricFilterWithName(name string) (*logs.MetricFilter, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotanalytics.Dataset: + case *logs.MetricFilter: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotanalytics.Dataset not found", name) + return nil, fmt.Errorf("resource %q of type logs.MetricFilter not found", name) } -// GetAllIoTAnalyticsDatastoreResources retrieves all iotanalytics.Datastore items from an AWS CloudFormation template -func (t *Template) GetAllIoTAnalyticsDatastoreResources() map[string]*iotanalytics.Datastore { - results := map[string]*iotanalytics.Datastore{} +// GetAllLogsSubscriptionFilterResources retrieves all logs.SubscriptionFilter items from an AWS CloudFormation template +func (t *Template) GetAllLogsSubscriptionFilterResources() map[string]*logs.SubscriptionFilter { + results := map[string]*logs.SubscriptionFilter{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iotanalytics.Datastore: + case *logs.SubscriptionFilter: results[name] = resource } } return results } -// GetIoTAnalyticsDatastoreWithName retrieves all iotanalytics.Datastore items from an AWS CloudFormation template +// GetLogsSubscriptionFilterWithName retrieves all logs.SubscriptionFilter items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTAnalyticsDatastoreWithName(name string) (*iotanalytics.Datastore, error) { +func (t *Template) GetLogsSubscriptionFilterWithName(name string) (*logs.SubscriptionFilter, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotanalytics.Datastore: + case *logs.SubscriptionFilter: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotanalytics.Datastore not found", name) + return nil, fmt.Errorf("resource %q of type logs.SubscriptionFilter not found", name) } -// GetAllIoTAnalyticsPipelineResources retrieves all iotanalytics.Pipeline items from an AWS CloudFormation template -func (t *Template) GetAllIoTAnalyticsPipelineResources() map[string]*iotanalytics.Pipeline { - results := map[string]*iotanalytics.Pipeline{} +// GetAllLookoutVisionProjectResources retrieves all lookoutvision.Project items from an AWS CloudFormation template +func (t *Template) GetAllLookoutVisionProjectResources() map[string]*lookoutvision.Project { + results := map[string]*lookoutvision.Project{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iotanalytics.Pipeline: + case *lookoutvision.Project: results[name] = resource } } return results } -// GetIoTAnalyticsPipelineWithName retrieves all iotanalytics.Pipeline items from an AWS CloudFormation template +// GetLookoutVisionProjectWithName retrieves all lookoutvision.Project items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTAnalyticsPipelineWithName(name string) (*iotanalytics.Pipeline, error) { +func (t *Template) GetLookoutVisionProjectWithName(name string) (*lookoutvision.Project, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotanalytics.Pipeline: + case *lookoutvision.Project: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotanalytics.Pipeline not found", name) + return nil, fmt.Errorf("resource %q of type lookoutvision.Project not found", name) } -// GetAllIoTEventsDetectorModelResources retrieves all iotevents.DetectorModel items from an AWS CloudFormation template -func (t *Template) GetAllIoTEventsDetectorModelResources() map[string]*iotevents.DetectorModel { - results := map[string]*iotevents.DetectorModel{} +// GetAllMSKClusterResources retrieves all msk.Cluster items from an AWS CloudFormation template +func (t *Template) GetAllMSKClusterResources() map[string]*msk.Cluster { + results := map[string]*msk.Cluster{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iotevents.DetectorModel: + case *msk.Cluster: results[name] = resource } } return results } -// GetIoTEventsDetectorModelWithName retrieves all iotevents.DetectorModel items from an AWS CloudFormation template +// GetMSKClusterWithName retrieves all msk.Cluster items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTEventsDetectorModelWithName(name string) (*iotevents.DetectorModel, error) { +func (t *Template) GetMSKClusterWithName(name string) (*msk.Cluster, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotevents.DetectorModel: + case *msk.Cluster: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotevents.DetectorModel not found", name) + return nil, fmt.Errorf("resource %q of type msk.Cluster not found", name) } -// GetAllIoTEventsInputResources retrieves all iotevents.Input items from an AWS CloudFormation template -func (t *Template) GetAllIoTEventsInputResources() map[string]*iotevents.Input { - results := map[string]*iotevents.Input{} +// GetAllMWAAEnvironmentResources retrieves all mwaa.Environment items from an AWS CloudFormation template +func (t *Template) GetAllMWAAEnvironmentResources() map[string]*mwaa.Environment { + results := map[string]*mwaa.Environment{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iotevents.Input: + case *mwaa.Environment: results[name] = resource } } return results } -// GetIoTEventsInputWithName retrieves all iotevents.Input items from an AWS CloudFormation template +// GetMWAAEnvironmentWithName retrieves all mwaa.Environment items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTEventsInputWithName(name string) (*iotevents.Input, error) { +func (t *Template) GetMWAAEnvironmentWithName(name string) (*mwaa.Environment, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotevents.Input: + case *mwaa.Environment: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotevents.Input not found", name) + return nil, fmt.Errorf("resource %q of type mwaa.Environment not found", name) } -// GetAllIoTSiteWiseAssetResources retrieves all iotsitewise.Asset items from an AWS CloudFormation template -func (t *Template) GetAllIoTSiteWiseAssetResources() map[string]*iotsitewise.Asset { - results := map[string]*iotsitewise.Asset{} +// 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 *iotsitewise.Asset: + case *macie.CustomDataIdentifier: results[name] = resource } } return results } -// GetIoTSiteWiseAssetWithName retrieves all iotsitewise.Asset items from an AWS CloudFormation template +// 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) GetIoTSiteWiseAssetWithName(name string) (*iotsitewise.Asset, error) { +func (t *Template) GetMacieCustomDataIdentifierWithName(name string) (*macie.CustomDataIdentifier, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotsitewise.Asset: + case *macie.CustomDataIdentifier: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotsitewise.Asset not found", name) + return nil, fmt.Errorf("resource %q of type macie.CustomDataIdentifier not found", name) } -// GetAllIoTSiteWiseAssetModelResources retrieves all iotsitewise.AssetModel items from an AWS CloudFormation template -func (t *Template) GetAllIoTSiteWiseAssetModelResources() map[string]*iotsitewise.AssetModel { - results := map[string]*iotsitewise.AssetModel{} +// 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 *iotsitewise.AssetModel: + case *macie.FindingsFilter: results[name] = resource } } return results } -// GetIoTSiteWiseAssetModelWithName retrieves all iotsitewise.AssetModel items from an AWS CloudFormation template +// 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) GetIoTSiteWiseAssetModelWithName(name string) (*iotsitewise.AssetModel, error) { +func (t *Template) GetMacieFindingsFilterWithName(name string) (*macie.FindingsFilter, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotsitewise.AssetModel: + case *macie.FindingsFilter: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotsitewise.AssetModel not found", name) + return nil, fmt.Errorf("resource %q of type macie.FindingsFilter not found", name) } -// GetAllIoTSiteWiseGatewayResources retrieves all iotsitewise.Gateway items from an AWS CloudFormation template -func (t *Template) GetAllIoTSiteWiseGatewayResources() map[string]*iotsitewise.Gateway { - results := map[string]*iotsitewise.Gateway{} +// 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 *iotsitewise.Gateway: + case *macie.Session: results[name] = resource } } return results } -// GetIoTSiteWiseGatewayWithName retrieves all iotsitewise.Gateway items from an AWS CloudFormation template +// 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) GetIoTSiteWiseGatewayWithName(name string) (*iotsitewise.Gateway, error) { +func (t *Template) GetMacieSessionWithName(name string) (*macie.Session, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotsitewise.Gateway: + case *macie.Session: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotsitewise.Gateway not found", name) + return nil, fmt.Errorf("resource %q of type macie.Session not found", name) } -// GetAllIoTThingsGraphFlowTemplateResources retrieves all iotthingsgraph.FlowTemplate items from an AWS CloudFormation template -func (t *Template) GetAllIoTThingsGraphFlowTemplateResources() map[string]*iotthingsgraph.FlowTemplate { - results := map[string]*iotthingsgraph.FlowTemplate{} +// GetAllManagedBlockchainMemberResources retrieves all managedblockchain.Member items from an AWS CloudFormation template +func (t *Template) GetAllManagedBlockchainMemberResources() map[string]*managedblockchain.Member { + results := map[string]*managedblockchain.Member{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *iotthingsgraph.FlowTemplate: + case *managedblockchain.Member: results[name] = resource } } return results } -// GetIoTThingsGraphFlowTemplateWithName retrieves all iotthingsgraph.FlowTemplate items from an AWS CloudFormation template +// GetManagedBlockchainMemberWithName retrieves all managedblockchain.Member items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetIoTThingsGraphFlowTemplateWithName(name string) (*iotthingsgraph.FlowTemplate, error) { +func (t *Template) GetManagedBlockchainMemberWithName(name string) (*managedblockchain.Member, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *iotthingsgraph.FlowTemplate: + case *managedblockchain.Member: return resource, nil } } - return nil, fmt.Errorf("resource %q of type iotthingsgraph.FlowTemplate not found", name) + return nil, fmt.Errorf("resource %q of type managedblockchain.Member not found", name) } -// GetAllKMSAliasResources retrieves all kms.Alias items from an AWS CloudFormation template -func (t *Template) GetAllKMSAliasResources() map[string]*kms.Alias { - results := map[string]*kms.Alias{} +// GetAllManagedBlockchainNodeResources retrieves all managedblockchain.Node items from an AWS CloudFormation template +func (t *Template) GetAllManagedBlockchainNodeResources() map[string]*managedblockchain.Node { + results := map[string]*managedblockchain.Node{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kms.Alias: + case *managedblockchain.Node: results[name] = resource } } return results } -// GetKMSAliasWithName retrieves all kms.Alias items from an AWS CloudFormation template +// GetManagedBlockchainNodeWithName retrieves all managedblockchain.Node items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKMSAliasWithName(name string) (*kms.Alias, error) { +func (t *Template) GetManagedBlockchainNodeWithName(name string) (*managedblockchain.Node, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kms.Alias: + case *managedblockchain.Node: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kms.Alias not found", name) + return nil, fmt.Errorf("resource %q of type managedblockchain.Node not found", name) } -// GetAllKMSKeyResources retrieves all kms.Key items from an AWS CloudFormation template -func (t *Template) GetAllKMSKeyResources() map[string]*kms.Key { - results := map[string]*kms.Key{} +// GetAllMediaConnectFlowResources retrieves all mediaconnect.Flow items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectFlowResources() map[string]*mediaconnect.Flow { + results := map[string]*mediaconnect.Flow{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kms.Key: + case *mediaconnect.Flow: results[name] = resource } } return results } -// GetKMSKeyWithName retrieves all kms.Key items from an AWS CloudFormation template +// GetMediaConnectFlowWithName retrieves all mediaconnect.Flow items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKMSKeyWithName(name string) (*kms.Key, error) { +func (t *Template) GetMediaConnectFlowWithName(name string) (*mediaconnect.Flow, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kms.Key: + case *mediaconnect.Flow: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kms.Key not found", name) + return nil, fmt.Errorf("resource %q of type mediaconnect.Flow not found", name) } -// GetAllKendraDataSourceResources retrieves all kendra.DataSource items from an AWS CloudFormation template -func (t *Template) GetAllKendraDataSourceResources() map[string]*kendra.DataSource { - results := map[string]*kendra.DataSource{} +// GetAllMediaConnectFlowEntitlementResources retrieves all mediaconnect.FlowEntitlement items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectFlowEntitlementResources() map[string]*mediaconnect.FlowEntitlement { + results := map[string]*mediaconnect.FlowEntitlement{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kendra.DataSource: + case *mediaconnect.FlowEntitlement: results[name] = resource } } return results } -// GetKendraDataSourceWithName retrieves all kendra.DataSource items from an AWS CloudFormation template +// GetMediaConnectFlowEntitlementWithName retrieves all mediaconnect.FlowEntitlement items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKendraDataSourceWithName(name string) (*kendra.DataSource, error) { +func (t *Template) GetMediaConnectFlowEntitlementWithName(name string) (*mediaconnect.FlowEntitlement, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kendra.DataSource: + case *mediaconnect.FlowEntitlement: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kendra.DataSource not found", name) + return nil, fmt.Errorf("resource %q of type mediaconnect.FlowEntitlement not found", name) } -// GetAllKendraFaqResources retrieves all kendra.Faq items from an AWS CloudFormation template -func (t *Template) GetAllKendraFaqResources() map[string]*kendra.Faq { - results := map[string]*kendra.Faq{} +// GetAllMediaConnectFlowOutputResources retrieves all mediaconnect.FlowOutput items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectFlowOutputResources() map[string]*mediaconnect.FlowOutput { + results := map[string]*mediaconnect.FlowOutput{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kendra.Faq: + case *mediaconnect.FlowOutput: results[name] = resource } } return results } -// GetKendraFaqWithName retrieves all kendra.Faq items from an AWS CloudFormation template +// GetMediaConnectFlowOutputWithName retrieves all mediaconnect.FlowOutput items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKendraFaqWithName(name string) (*kendra.Faq, error) { +func (t *Template) GetMediaConnectFlowOutputWithName(name string) (*mediaconnect.FlowOutput, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kendra.Faq: + case *mediaconnect.FlowOutput: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kendra.Faq not found", name) + return nil, fmt.Errorf("resource %q of type mediaconnect.FlowOutput not found", name) } -// GetAllKendraIndexResources retrieves all kendra.Index items from an AWS CloudFormation template -func (t *Template) GetAllKendraIndexResources() map[string]*kendra.Index { - results := map[string]*kendra.Index{} +// GetAllMediaConnectFlowSourceResources retrieves all mediaconnect.FlowSource items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectFlowSourceResources() map[string]*mediaconnect.FlowSource { + results := map[string]*mediaconnect.FlowSource{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kendra.Index: + case *mediaconnect.FlowSource: results[name] = resource } } return results } -// GetKendraIndexWithName retrieves all kendra.Index items from an AWS CloudFormation template +// GetMediaConnectFlowSourceWithName retrieves all mediaconnect.FlowSource items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKendraIndexWithName(name string) (*kendra.Index, error) { +func (t *Template) GetMediaConnectFlowSourceWithName(name string) (*mediaconnect.FlowSource, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kendra.Index: + case *mediaconnect.FlowSource: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kendra.Index not found", name) + return nil, fmt.Errorf("resource %q of type mediaconnect.FlowSource not found", name) } -// GetAllKinesisStreamResources retrieves all kinesis.Stream items from an AWS CloudFormation template -func (t *Template) GetAllKinesisStreamResources() map[string]*kinesis.Stream { - results := map[string]*kinesis.Stream{} +// GetAllMediaConnectFlowVpcInterfaceResources retrieves all mediaconnect.FlowVpcInterface items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectFlowVpcInterfaceResources() map[string]*mediaconnect.FlowVpcInterface { + results := map[string]*mediaconnect.FlowVpcInterface{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesis.Stream: + case *mediaconnect.FlowVpcInterface: results[name] = resource } } return results } -// GetKinesisStreamWithName retrieves all kinesis.Stream items from an AWS CloudFormation template +// GetMediaConnectFlowVpcInterfaceWithName retrieves all mediaconnect.FlowVpcInterface items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisStreamWithName(name string) (*kinesis.Stream, error) { +func (t *Template) GetMediaConnectFlowVpcInterfaceWithName(name string) (*mediaconnect.FlowVpcInterface, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesis.Stream: + case *mediaconnect.FlowVpcInterface: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesis.Stream not found", name) + return nil, fmt.Errorf("resource %q of type mediaconnect.FlowVpcInterface not found", name) } -// GetAllKinesisStreamConsumerResources retrieves all kinesis.StreamConsumer items from an AWS CloudFormation template -func (t *Template) GetAllKinesisStreamConsumerResources() map[string]*kinesis.StreamConsumer { - results := map[string]*kinesis.StreamConsumer{} +// GetAllMediaConvertJobTemplateResources retrieves all mediaconvert.JobTemplate items from an AWS CloudFormation template +func (t *Template) GetAllMediaConvertJobTemplateResources() map[string]*mediaconvert.JobTemplate { + results := map[string]*mediaconvert.JobTemplate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesis.StreamConsumer: + case *mediaconvert.JobTemplate: results[name] = resource } } return results } -// GetKinesisStreamConsumerWithName retrieves all kinesis.StreamConsumer items from an AWS CloudFormation template +// GetMediaConvertJobTemplateWithName retrieves all mediaconvert.JobTemplate items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisStreamConsumerWithName(name string) (*kinesis.StreamConsumer, error) { +func (t *Template) GetMediaConvertJobTemplateWithName(name string) (*mediaconvert.JobTemplate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesis.StreamConsumer: + case *mediaconvert.JobTemplate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesis.StreamConsumer not found", name) + return nil, fmt.Errorf("resource %q of type mediaconvert.JobTemplate not found", name) } -// GetAllKinesisAnalyticsApplicationResources retrieves all kinesisanalytics.Application items from an AWS CloudFormation template -func (t *Template) GetAllKinesisAnalyticsApplicationResources() map[string]*kinesisanalytics.Application { - results := map[string]*kinesisanalytics.Application{} +// GetAllMediaConvertPresetResources retrieves all mediaconvert.Preset items from an AWS CloudFormation template +func (t *Template) GetAllMediaConvertPresetResources() map[string]*mediaconvert.Preset { + results := map[string]*mediaconvert.Preset{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisanalytics.Application: + case *mediaconvert.Preset: results[name] = resource } } return results } -// GetKinesisAnalyticsApplicationWithName retrieves all kinesisanalytics.Application items from an AWS CloudFormation template +// GetMediaConvertPresetWithName retrieves all mediaconvert.Preset items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisAnalyticsApplicationWithName(name string) (*kinesisanalytics.Application, error) { +func (t *Template) GetMediaConvertPresetWithName(name string) (*mediaconvert.Preset, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisanalytics.Application: + case *mediaconvert.Preset: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisanalytics.Application not found", name) + return nil, fmt.Errorf("resource %q of type mediaconvert.Preset not found", name) } -// GetAllKinesisAnalyticsApplicationOutputResources retrieves all kinesisanalytics.ApplicationOutput items from an AWS CloudFormation template -func (t *Template) GetAllKinesisAnalyticsApplicationOutputResources() map[string]*kinesisanalytics.ApplicationOutput { - results := map[string]*kinesisanalytics.ApplicationOutput{} +// GetAllMediaConvertQueueResources retrieves all mediaconvert.Queue items from an AWS CloudFormation template +func (t *Template) GetAllMediaConvertQueueResources() map[string]*mediaconvert.Queue { + results := map[string]*mediaconvert.Queue{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisanalytics.ApplicationOutput: + case *mediaconvert.Queue: results[name] = resource } } return results } -// GetKinesisAnalyticsApplicationOutputWithName retrieves all kinesisanalytics.ApplicationOutput items from an AWS CloudFormation template +// GetMediaConvertQueueWithName retrieves all mediaconvert.Queue items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisAnalyticsApplicationOutputWithName(name string) (*kinesisanalytics.ApplicationOutput, error) { +func (t *Template) GetMediaConvertQueueWithName(name string) (*mediaconvert.Queue, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisanalytics.ApplicationOutput: + case *mediaconvert.Queue: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisanalytics.ApplicationOutput not found", name) + return nil, fmt.Errorf("resource %q of type mediaconvert.Queue not found", name) } -// GetAllKinesisAnalyticsApplicationReferenceDataSourceResources retrieves all kinesisanalytics.ApplicationReferenceDataSource items from an AWS CloudFormation template -func (t *Template) GetAllKinesisAnalyticsApplicationReferenceDataSourceResources() map[string]*kinesisanalytics.ApplicationReferenceDataSource { - results := map[string]*kinesisanalytics.ApplicationReferenceDataSource{} +// GetAllMediaLiveChannelResources retrieves all medialive.Channel items from an AWS CloudFormation template +func (t *Template) GetAllMediaLiveChannelResources() map[string]*medialive.Channel { + results := map[string]*medialive.Channel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisanalytics.ApplicationReferenceDataSource: + case *medialive.Channel: results[name] = resource } } return results } -// GetKinesisAnalyticsApplicationReferenceDataSourceWithName retrieves all kinesisanalytics.ApplicationReferenceDataSource items from an AWS CloudFormation template +// GetMediaLiveChannelWithName retrieves all medialive.Channel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisAnalyticsApplicationReferenceDataSourceWithName(name string) (*kinesisanalytics.ApplicationReferenceDataSource, error) { +func (t *Template) GetMediaLiveChannelWithName(name string) (*medialive.Channel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisanalytics.ApplicationReferenceDataSource: + case *medialive.Channel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisanalytics.ApplicationReferenceDataSource not found", name) + return nil, fmt.Errorf("resource %q of type medialive.Channel not found", name) } -// GetAllKinesisAnalyticsV2ApplicationResources retrieves all kinesisanalyticsv2.Application items from an AWS CloudFormation template -func (t *Template) GetAllKinesisAnalyticsV2ApplicationResources() map[string]*kinesisanalyticsv2.Application { - results := map[string]*kinesisanalyticsv2.Application{} +// GetAllMediaLiveInputResources retrieves all medialive.Input items from an AWS CloudFormation template +func (t *Template) GetAllMediaLiveInputResources() map[string]*medialive.Input { + results := map[string]*medialive.Input{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisanalyticsv2.Application: + case *medialive.Input: results[name] = resource } } return results } -// GetKinesisAnalyticsV2ApplicationWithName retrieves all kinesisanalyticsv2.Application items from an AWS CloudFormation template +// GetMediaLiveInputWithName retrieves all medialive.Input items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisAnalyticsV2ApplicationWithName(name string) (*kinesisanalyticsv2.Application, error) { +func (t *Template) GetMediaLiveInputWithName(name string) (*medialive.Input, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisanalyticsv2.Application: + case *medialive.Input: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.Application not found", name) + return nil, fmt.Errorf("resource %q of type medialive.Input not found", name) } -// GetAllKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionResources retrieves all kinesisanalyticsv2.ApplicationCloudWatchLoggingOption items from an AWS CloudFormation template -func (t *Template) GetAllKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionResources() map[string]*kinesisanalyticsv2.ApplicationCloudWatchLoggingOption { - results := map[string]*kinesisanalyticsv2.ApplicationCloudWatchLoggingOption{} +// GetAllMediaLiveInputSecurityGroupResources retrieves all medialive.InputSecurityGroup items from an AWS CloudFormation template +func (t *Template) GetAllMediaLiveInputSecurityGroupResources() map[string]*medialive.InputSecurityGroup { + results := map[string]*medialive.InputSecurityGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisanalyticsv2.ApplicationCloudWatchLoggingOption: + case *medialive.InputSecurityGroup: results[name] = resource } } return results } -// GetKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionWithName retrieves all kinesisanalyticsv2.ApplicationCloudWatchLoggingOption items from an AWS CloudFormation template +// GetMediaLiveInputSecurityGroupWithName retrieves all medialive.InputSecurityGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisAnalyticsV2ApplicationCloudWatchLoggingOptionWithName(name string) (*kinesisanalyticsv2.ApplicationCloudWatchLoggingOption, error) { +func (t *Template) GetMediaLiveInputSecurityGroupWithName(name string) (*medialive.InputSecurityGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisanalyticsv2.ApplicationCloudWatchLoggingOption: + case *medialive.InputSecurityGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.ApplicationCloudWatchLoggingOption not found", name) + return nil, fmt.Errorf("resource %q of type medialive.InputSecurityGroup not found", name) } -// GetAllKinesisAnalyticsV2ApplicationOutputResources retrieves all kinesisanalyticsv2.ApplicationOutput items from an AWS CloudFormation template -func (t *Template) GetAllKinesisAnalyticsV2ApplicationOutputResources() map[string]*kinesisanalyticsv2.ApplicationOutput { - results := map[string]*kinesisanalyticsv2.ApplicationOutput{} +// GetAllMediaPackageAssetResources retrieves all mediapackage.Asset items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageAssetResources() map[string]*mediapackage.Asset { + results := map[string]*mediapackage.Asset{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisanalyticsv2.ApplicationOutput: + case *mediapackage.Asset: results[name] = resource } } return results } -// GetKinesisAnalyticsV2ApplicationOutputWithName retrieves all kinesisanalyticsv2.ApplicationOutput items from an AWS CloudFormation template +// GetMediaPackageAssetWithName retrieves all mediapackage.Asset items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisAnalyticsV2ApplicationOutputWithName(name string) (*kinesisanalyticsv2.ApplicationOutput, error) { +func (t *Template) GetMediaPackageAssetWithName(name string) (*mediapackage.Asset, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisanalyticsv2.ApplicationOutput: + case *mediapackage.Asset: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.ApplicationOutput not found", name) + return nil, fmt.Errorf("resource %q of type mediapackage.Asset not found", name) } -// GetAllKinesisAnalyticsV2ApplicationReferenceDataSourceResources retrieves all kinesisanalyticsv2.ApplicationReferenceDataSource items from an AWS CloudFormation template -func (t *Template) GetAllKinesisAnalyticsV2ApplicationReferenceDataSourceResources() map[string]*kinesisanalyticsv2.ApplicationReferenceDataSource { - results := map[string]*kinesisanalyticsv2.ApplicationReferenceDataSource{} +// GetAllMediaPackageChannelResources retrieves all mediapackage.Channel items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageChannelResources() map[string]*mediapackage.Channel { + results := map[string]*mediapackage.Channel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisanalyticsv2.ApplicationReferenceDataSource: + case *mediapackage.Channel: results[name] = resource } } return results } -// GetKinesisAnalyticsV2ApplicationReferenceDataSourceWithName retrieves all kinesisanalyticsv2.ApplicationReferenceDataSource items from an AWS CloudFormation template +// GetMediaPackageChannelWithName retrieves all mediapackage.Channel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisAnalyticsV2ApplicationReferenceDataSourceWithName(name string) (*kinesisanalyticsv2.ApplicationReferenceDataSource, error) { +func (t *Template) GetMediaPackageChannelWithName(name string) (*mediapackage.Channel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisanalyticsv2.ApplicationReferenceDataSource: + case *mediapackage.Channel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisanalyticsv2.ApplicationReferenceDataSource not found", name) + return nil, fmt.Errorf("resource %q of type mediapackage.Channel not found", name) } -// GetAllKinesisFirehoseDeliveryStreamResources retrieves all kinesisfirehose.DeliveryStream items from an AWS CloudFormation template -func (t *Template) GetAllKinesisFirehoseDeliveryStreamResources() map[string]*kinesisfirehose.DeliveryStream { - results := map[string]*kinesisfirehose.DeliveryStream{} +// GetAllMediaPackageOriginEndpointResources retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackageOriginEndpointResources() map[string]*mediapackage.OriginEndpoint { + results := map[string]*mediapackage.OriginEndpoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *kinesisfirehose.DeliveryStream: + case *mediapackage.OriginEndpoint: results[name] = resource } } return results } -// GetKinesisFirehoseDeliveryStreamWithName retrieves all kinesisfirehose.DeliveryStream items from an AWS CloudFormation template +// GetMediaPackageOriginEndpointWithName retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetKinesisFirehoseDeliveryStreamWithName(name string) (*kinesisfirehose.DeliveryStream, error) { +func (t *Template) GetMediaPackageOriginEndpointWithName(name string) (*mediapackage.OriginEndpoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *kinesisfirehose.DeliveryStream: + case *mediapackage.OriginEndpoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type kinesisfirehose.DeliveryStream not found", name) + return nil, fmt.Errorf("resource %q of type mediapackage.OriginEndpoint not found", name) } -// GetAllLakeFormationDataLakeSettingsResources retrieves all lakeformation.DataLakeSettings items from an AWS CloudFormation template -func (t *Template) GetAllLakeFormationDataLakeSettingsResources() map[string]*lakeformation.DataLakeSettings { - results := map[string]*lakeformation.DataLakeSettings{} +// GetAllMediaPackagePackagingConfigurationResources retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackagePackagingConfigurationResources() map[string]*mediapackage.PackagingConfiguration { + results := map[string]*mediapackage.PackagingConfiguration{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lakeformation.DataLakeSettings: + case *mediapackage.PackagingConfiguration: results[name] = resource } } return results } -// GetLakeFormationDataLakeSettingsWithName retrieves all lakeformation.DataLakeSettings items from an AWS CloudFormation template +// GetMediaPackagePackagingConfigurationWithName retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLakeFormationDataLakeSettingsWithName(name string) (*lakeformation.DataLakeSettings, error) { +func (t *Template) GetMediaPackagePackagingConfigurationWithName(name string) (*mediapackage.PackagingConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lakeformation.DataLakeSettings: + case *mediapackage.PackagingConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lakeformation.DataLakeSettings not found", name) + return nil, fmt.Errorf("resource %q of type mediapackage.PackagingConfiguration not found", name) } -// GetAllLakeFormationPermissionsResources retrieves all lakeformation.Permissions items from an AWS CloudFormation template -func (t *Template) GetAllLakeFormationPermissionsResources() map[string]*lakeformation.Permissions { - results := map[string]*lakeformation.Permissions{} +// GetAllMediaPackagePackagingGroupResources retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template +func (t *Template) GetAllMediaPackagePackagingGroupResources() map[string]*mediapackage.PackagingGroup { + results := map[string]*mediapackage.PackagingGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lakeformation.Permissions: + case *mediapackage.PackagingGroup: results[name] = resource } } return results } -// GetLakeFormationPermissionsWithName retrieves all lakeformation.Permissions items from an AWS CloudFormation template +// GetMediaPackagePackagingGroupWithName retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLakeFormationPermissionsWithName(name string) (*lakeformation.Permissions, error) { +func (t *Template) GetMediaPackagePackagingGroupWithName(name string) (*mediapackage.PackagingGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lakeformation.Permissions: + case *mediapackage.PackagingGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lakeformation.Permissions not found", name) + return nil, fmt.Errorf("resource %q of type mediapackage.PackagingGroup not found", name) } -// GetAllLakeFormationResourceResources retrieves all lakeformation.Resource items from an AWS CloudFormation template -func (t *Template) GetAllLakeFormationResourceResources() map[string]*lakeformation.Resource { - results := map[string]*lakeformation.Resource{} +// GetAllMediaStoreContainerResources retrieves all mediastore.Container items from an AWS CloudFormation template +func (t *Template) GetAllMediaStoreContainerResources() map[string]*mediastore.Container { + results := map[string]*mediastore.Container{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lakeformation.Resource: + case *mediastore.Container: results[name] = resource } } return results } -// GetLakeFormationResourceWithName retrieves all lakeformation.Resource items from an AWS CloudFormation template +// GetMediaStoreContainerWithName retrieves all mediastore.Container items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLakeFormationResourceWithName(name string) (*lakeformation.Resource, error) { +func (t *Template) GetMediaStoreContainerWithName(name string) (*mediastore.Container, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lakeformation.Resource: + case *mediastore.Container: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lakeformation.Resource not found", name) + return nil, fmt.Errorf("resource %q of type mediastore.Container not found", name) } -// GetAllLambdaAliasResources retrieves all lambda.Alias items from an AWS CloudFormation template -func (t *Template) GetAllLambdaAliasResources() map[string]*lambda.Alias { - results := map[string]*lambda.Alias{} +// GetAllNeptuneDBClusterResources retrieves all neptune.DBCluster items from an AWS CloudFormation template +func (t *Template) GetAllNeptuneDBClusterResources() map[string]*neptune.DBCluster { + results := map[string]*neptune.DBCluster{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.Alias: + case *neptune.DBCluster: results[name] = resource } } return results } -// GetLambdaAliasWithName retrieves all lambda.Alias items from an AWS CloudFormation template +// GetNeptuneDBClusterWithName retrieves all neptune.DBCluster items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaAliasWithName(name string) (*lambda.Alias, error) { +func (t *Template) GetNeptuneDBClusterWithName(name string) (*neptune.DBCluster, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.Alias: + case *neptune.DBCluster: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.Alias not found", name) + return nil, fmt.Errorf("resource %q of type neptune.DBCluster not found", name) } -// GetAllLambdaEventInvokeConfigResources retrieves all lambda.EventInvokeConfig items from an AWS CloudFormation template -func (t *Template) GetAllLambdaEventInvokeConfigResources() map[string]*lambda.EventInvokeConfig { - results := map[string]*lambda.EventInvokeConfig{} +// GetAllNeptuneDBClusterParameterGroupResources retrieves all neptune.DBClusterParameterGroup items from an AWS CloudFormation template +func (t *Template) GetAllNeptuneDBClusterParameterGroupResources() map[string]*neptune.DBClusterParameterGroup { + results := map[string]*neptune.DBClusterParameterGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.EventInvokeConfig: + case *neptune.DBClusterParameterGroup: results[name] = resource } } return results } -// GetLambdaEventInvokeConfigWithName retrieves all lambda.EventInvokeConfig items from an AWS CloudFormation template +// GetNeptuneDBClusterParameterGroupWithName retrieves all neptune.DBClusterParameterGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaEventInvokeConfigWithName(name string) (*lambda.EventInvokeConfig, error) { +func (t *Template) GetNeptuneDBClusterParameterGroupWithName(name string) (*neptune.DBClusterParameterGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.EventInvokeConfig: + case *neptune.DBClusterParameterGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.EventInvokeConfig not found", name) + return nil, fmt.Errorf("resource %q of type neptune.DBClusterParameterGroup not found", name) } -// GetAllLambdaEventSourceMappingResources retrieves all lambda.EventSourceMapping items from an AWS CloudFormation template -func (t *Template) GetAllLambdaEventSourceMappingResources() map[string]*lambda.EventSourceMapping { - results := map[string]*lambda.EventSourceMapping{} +// GetAllNeptuneDBInstanceResources retrieves all neptune.DBInstance items from an AWS CloudFormation template +func (t *Template) GetAllNeptuneDBInstanceResources() map[string]*neptune.DBInstance { + results := map[string]*neptune.DBInstance{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.EventSourceMapping: + case *neptune.DBInstance: results[name] = resource } } return results } -// GetLambdaEventSourceMappingWithName retrieves all lambda.EventSourceMapping items from an AWS CloudFormation template +// GetNeptuneDBInstanceWithName retrieves all neptune.DBInstance items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaEventSourceMappingWithName(name string) (*lambda.EventSourceMapping, error) { +func (t *Template) GetNeptuneDBInstanceWithName(name string) (*neptune.DBInstance, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.EventSourceMapping: + case *neptune.DBInstance: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.EventSourceMapping not found", name) + return nil, fmt.Errorf("resource %q of type neptune.DBInstance not found", name) } -// GetAllLambdaFunctionResources retrieves all lambda.Function items from an AWS CloudFormation template -func (t *Template) GetAllLambdaFunctionResources() map[string]*lambda.Function { - results := map[string]*lambda.Function{} +// GetAllNeptuneDBParameterGroupResources retrieves all neptune.DBParameterGroup items from an AWS CloudFormation template +func (t *Template) GetAllNeptuneDBParameterGroupResources() map[string]*neptune.DBParameterGroup { + results := map[string]*neptune.DBParameterGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.Function: + case *neptune.DBParameterGroup: results[name] = resource } } return results } -// GetLambdaFunctionWithName retrieves all lambda.Function items from an AWS CloudFormation template +// GetNeptuneDBParameterGroupWithName retrieves all neptune.DBParameterGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaFunctionWithName(name string) (*lambda.Function, error) { +func (t *Template) GetNeptuneDBParameterGroupWithName(name string) (*neptune.DBParameterGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.Function: + case *neptune.DBParameterGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.Function not found", name) + return nil, fmt.Errorf("resource %q of type neptune.DBParameterGroup not found", name) } -// GetAllLambdaLayerVersionResources retrieves all lambda.LayerVersion items from an AWS CloudFormation template -func (t *Template) GetAllLambdaLayerVersionResources() map[string]*lambda.LayerVersion { - results := map[string]*lambda.LayerVersion{} +// GetAllNeptuneDBSubnetGroupResources retrieves all neptune.DBSubnetGroup items from an AWS CloudFormation template +func (t *Template) GetAllNeptuneDBSubnetGroupResources() map[string]*neptune.DBSubnetGroup { + results := map[string]*neptune.DBSubnetGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.LayerVersion: + case *neptune.DBSubnetGroup: results[name] = resource } } return results } -// GetLambdaLayerVersionWithName retrieves all lambda.LayerVersion items from an AWS CloudFormation template +// GetNeptuneDBSubnetGroupWithName retrieves all neptune.DBSubnetGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaLayerVersionWithName(name string) (*lambda.LayerVersion, error) { +func (t *Template) GetNeptuneDBSubnetGroupWithName(name string) (*neptune.DBSubnetGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.LayerVersion: + case *neptune.DBSubnetGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.LayerVersion not found", name) + return nil, fmt.Errorf("resource %q of type neptune.DBSubnetGroup not found", name) } -// GetAllLambdaLayerVersionPermissionResources retrieves all lambda.LayerVersionPermission items from an AWS CloudFormation template -func (t *Template) GetAllLambdaLayerVersionPermissionResources() map[string]*lambda.LayerVersionPermission { - results := map[string]*lambda.LayerVersionPermission{} +// GetAllNetworkFirewallFirewallResources retrieves all networkfirewall.Firewall items from an AWS CloudFormation template +func (t *Template) GetAllNetworkFirewallFirewallResources() map[string]*networkfirewall.Firewall { + results := map[string]*networkfirewall.Firewall{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.LayerVersionPermission: + case *networkfirewall.Firewall: results[name] = resource } } return results } -// GetLambdaLayerVersionPermissionWithName retrieves all lambda.LayerVersionPermission items from an AWS CloudFormation template +// GetNetworkFirewallFirewallWithName retrieves all networkfirewall.Firewall items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaLayerVersionPermissionWithName(name string) (*lambda.LayerVersionPermission, error) { +func (t *Template) GetNetworkFirewallFirewallWithName(name string) (*networkfirewall.Firewall, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.LayerVersionPermission: + case *networkfirewall.Firewall: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.LayerVersionPermission not found", name) + return nil, fmt.Errorf("resource %q of type networkfirewall.Firewall not found", name) } -// GetAllLambdaPermissionResources retrieves all lambda.Permission items from an AWS CloudFormation template -func (t *Template) GetAllLambdaPermissionResources() map[string]*lambda.Permission { - results := map[string]*lambda.Permission{} +// GetAllNetworkFirewallFirewallPolicyResources retrieves all networkfirewall.FirewallPolicy items from an AWS CloudFormation template +func (t *Template) GetAllNetworkFirewallFirewallPolicyResources() map[string]*networkfirewall.FirewallPolicy { + results := map[string]*networkfirewall.FirewallPolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.Permission: + case *networkfirewall.FirewallPolicy: results[name] = resource } } return results } -// GetLambdaPermissionWithName retrieves all lambda.Permission items from an AWS CloudFormation template +// GetNetworkFirewallFirewallPolicyWithName retrieves all networkfirewall.FirewallPolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaPermissionWithName(name string) (*lambda.Permission, error) { +func (t *Template) GetNetworkFirewallFirewallPolicyWithName(name string) (*networkfirewall.FirewallPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.Permission: + case *networkfirewall.FirewallPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.Permission not found", name) + return nil, fmt.Errorf("resource %q of type networkfirewall.FirewallPolicy not found", name) } -// GetAllLambdaVersionResources retrieves all lambda.Version items from an AWS CloudFormation template -func (t *Template) GetAllLambdaVersionResources() map[string]*lambda.Version { - results := map[string]*lambda.Version{} +// GetAllNetworkFirewallLoggingConfigurationResources retrieves all networkfirewall.LoggingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllNetworkFirewallLoggingConfigurationResources() map[string]*networkfirewall.LoggingConfiguration { + results := map[string]*networkfirewall.LoggingConfiguration{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *lambda.Version: + case *networkfirewall.LoggingConfiguration: results[name] = resource } } return results } -// GetLambdaVersionWithName retrieves all lambda.Version items from an AWS CloudFormation template +// GetNetworkFirewallLoggingConfigurationWithName retrieves all networkfirewall.LoggingConfiguration items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLambdaVersionWithName(name string) (*lambda.Version, error) { +func (t *Template) GetNetworkFirewallLoggingConfigurationWithName(name string) (*networkfirewall.LoggingConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *lambda.Version: + case *networkfirewall.LoggingConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type lambda.Version not found", name) + return nil, fmt.Errorf("resource %q of type networkfirewall.LoggingConfiguration not found", name) } -// GetAllLogsDestinationResources retrieves all logs.Destination items from an AWS CloudFormation template -func (t *Template) GetAllLogsDestinationResources() map[string]*logs.Destination { - results := map[string]*logs.Destination{} +// GetAllNetworkFirewallRuleGroupResources retrieves all networkfirewall.RuleGroup items from an AWS CloudFormation template +func (t *Template) GetAllNetworkFirewallRuleGroupResources() map[string]*networkfirewall.RuleGroup { + results := map[string]*networkfirewall.RuleGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *logs.Destination: + case *networkfirewall.RuleGroup: results[name] = resource } } return results } -// GetLogsDestinationWithName retrieves all logs.Destination items from an AWS CloudFormation template +// GetNetworkFirewallRuleGroupWithName retrieves all networkfirewall.RuleGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetLogsDestinationWithName(name string) (*logs.Destination, error) { +func (t *Template) GetNetworkFirewallRuleGroupWithName(name string) (*networkfirewall.RuleGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *logs.Destination: + case *networkfirewall.RuleGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type logs.Destination not found", name) + return nil, fmt.Errorf("resource %q of type networkfirewall.RuleGroup not found", name) } -// GetAllLogsLogGroupResources retrieves all logs.LogGroup items from an AWS CloudFormation template -func (t *Template) GetAllLogsLogGroupResources() map[string]*logs.LogGroup { - results := map[string]*logs.LogGroup{} +// 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 *logs.LogGroup: + case *networkmanager.CustomerGatewayAssociation: results[name] = resource } } return results } -// GetLogsLogGroupWithName retrieves all logs.LogGroup items from an AWS CloudFormation template +// 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) GetLogsLogGroupWithName(name string) (*logs.LogGroup, error) { +func (t *Template) GetNetworkManagerCustomerGatewayAssociationWithName(name string) (*networkmanager.CustomerGatewayAssociation, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *logs.LogGroup: + case *networkmanager.CustomerGatewayAssociation: return resource, nil } } - return nil, fmt.Errorf("resource %q of type logs.LogGroup not found", name) + return nil, fmt.Errorf("resource %q of type networkmanager.CustomerGatewayAssociation not found", name) } -// GetAllLogsLogStreamResources retrieves all logs.LogStream items from an AWS CloudFormation template -func (t *Template) GetAllLogsLogStreamResources() map[string]*logs.LogStream { - results := map[string]*logs.LogStream{} +// 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 *logs.LogStream: + case *networkmanager.Device: results[name] = resource } } return results } -// GetLogsLogStreamWithName retrieves all logs.LogStream items from an AWS CloudFormation template +// 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) GetLogsLogStreamWithName(name string) (*logs.LogStream, error) { +func (t *Template) GetNetworkManagerDeviceWithName(name string) (*networkmanager.Device, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *logs.LogStream: + case *networkmanager.Device: return resource, nil } } - return nil, fmt.Errorf("resource %q of type logs.LogStream not found", name) + return nil, fmt.Errorf("resource %q of type networkmanager.Device not found", name) } -// GetAllLogsMetricFilterResources retrieves all logs.MetricFilter items from an AWS CloudFormation template -func (t *Template) GetAllLogsMetricFilterResources() map[string]*logs.MetricFilter { - results := map[string]*logs.MetricFilter{} +// 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 *logs.MetricFilter: + case *networkmanager.GlobalNetwork: results[name] = resource } } return results } -// GetLogsMetricFilterWithName retrieves all logs.MetricFilter items from an AWS CloudFormation template +// 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) GetLogsMetricFilterWithName(name string) (*logs.MetricFilter, error) { +func (t *Template) GetNetworkManagerGlobalNetworkWithName(name string) (*networkmanager.GlobalNetwork, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *logs.MetricFilter: + case *networkmanager.GlobalNetwork: return resource, nil } } - return nil, fmt.Errorf("resource %q of type logs.MetricFilter not found", name) + return nil, fmt.Errorf("resource %q of type networkmanager.GlobalNetwork not found", name) } -// GetAllLogsSubscriptionFilterResources retrieves all logs.SubscriptionFilter items from an AWS CloudFormation template -func (t *Template) GetAllLogsSubscriptionFilterResources() map[string]*logs.SubscriptionFilter { - results := map[string]*logs.SubscriptionFilter{} +// 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 *logs.SubscriptionFilter: + case *networkmanager.Link: results[name] = resource } } return results } -// GetLogsSubscriptionFilterWithName retrieves all logs.SubscriptionFilter items from an AWS CloudFormation template +// 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) GetLogsSubscriptionFilterWithName(name string) (*logs.SubscriptionFilter, error) { +func (t *Template) GetNetworkManagerLinkWithName(name string) (*networkmanager.Link, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *logs.SubscriptionFilter: + case *networkmanager.Link: return resource, nil } } - return nil, fmt.Errorf("resource %q of type logs.SubscriptionFilter not found", name) + return nil, fmt.Errorf("resource %q of type networkmanager.Link not found", name) } -// GetAllMSKClusterResources retrieves all msk.Cluster items from an AWS CloudFormation template -func (t *Template) GetAllMSKClusterResources() map[string]*msk.Cluster { - results := map[string]*msk.Cluster{} +// 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 *msk.Cluster: + case *networkmanager.LinkAssociation: results[name] = resource } } return results } -// GetMSKClusterWithName retrieves all msk.Cluster items from an AWS CloudFormation template +// 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) GetMSKClusterWithName(name string) (*msk.Cluster, error) { +func (t *Template) GetNetworkManagerLinkAssociationWithName(name string) (*networkmanager.LinkAssociation, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *msk.Cluster: + case *networkmanager.LinkAssociation: return resource, nil } } - return nil, fmt.Errorf("resource %q of type msk.Cluster not found", name) + return nil, fmt.Errorf("resource %q of type networkmanager.LinkAssociation 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{} +// 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 *macie.CustomDataIdentifier: + case *networkmanager.Site: results[name] = resource } } return results } -// GetMacieCustomDataIdentifierWithName retrieves all macie.CustomDataIdentifier items from an AWS CloudFormation template +// 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) GetMacieCustomDataIdentifierWithName(name string) (*macie.CustomDataIdentifier, error) { +func (t *Template) GetNetworkManagerSiteWithName(name string) (*networkmanager.Site, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *macie.CustomDataIdentifier: + case *networkmanager.Site: return resource, nil } } - return nil, fmt.Errorf("resource %q of type macie.CustomDataIdentifier not found", name) + return nil, fmt.Errorf("resource %q of type networkmanager.Site 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{} +// 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 *macie.FindingsFilter: + case *networkmanager.TransitGatewayRegistration: results[name] = resource } } return results } -// GetMacieFindingsFilterWithName retrieves all macie.FindingsFilter items from an AWS CloudFormation template +// 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) GetMacieFindingsFilterWithName(name string) (*macie.FindingsFilter, error) { +func (t *Template) GetNetworkManagerTransitGatewayRegistrationWithName(name string) (*networkmanager.TransitGatewayRegistration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *macie.FindingsFilter: + case *networkmanager.TransitGatewayRegistration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type macie.FindingsFilter not found", name) + return nil, fmt.Errorf("resource %q of type networkmanager.TransitGatewayRegistration 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{} +// GetAllOpsWorksAppResources retrieves all opsworks.App items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksAppResources() map[string]*opsworks.App { + results := map[string]*opsworks.App{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *macie.Session: + case *opsworks.App: results[name] = resource } } return results } -// GetMacieSessionWithName retrieves all macie.Session items from an AWS CloudFormation template +// GetOpsWorksAppWithName retrieves all opsworks.App 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) { +func (t *Template) GetOpsWorksAppWithName(name string) (*opsworks.App, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *macie.Session: + case *opsworks.App: return resource, nil } } - return nil, fmt.Errorf("resource %q of type macie.Session not found", name) + return nil, fmt.Errorf("resource %q of type opsworks.App 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{} +// GetAllOpsWorksElasticLoadBalancerAttachmentResources retrieves all opsworks.ElasticLoadBalancerAttachment items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksElasticLoadBalancerAttachmentResources() map[string]*opsworks.ElasticLoadBalancerAttachment { + results := map[string]*opsworks.ElasticLoadBalancerAttachment{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *managedblockchain.Member: + case *opsworks.ElasticLoadBalancerAttachment: results[name] = resource } } return results } -// GetManagedBlockchainMemberWithName retrieves all managedblockchain.Member items from an AWS CloudFormation template +// GetOpsWorksElasticLoadBalancerAttachmentWithName retrieves all opsworks.ElasticLoadBalancerAttachment items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetManagedBlockchainMemberWithName(name string) (*managedblockchain.Member, error) { +func (t *Template) GetOpsWorksElasticLoadBalancerAttachmentWithName(name string) (*opsworks.ElasticLoadBalancerAttachment, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *managedblockchain.Member: + case *opsworks.ElasticLoadBalancerAttachment: return resource, nil } } - return nil, fmt.Errorf("resource %q of type managedblockchain.Member not found", name) + return nil, fmt.Errorf("resource %q of type opsworks.ElasticLoadBalancerAttachment not found", name) } -// GetAllManagedBlockchainNodeResources retrieves all managedblockchain.Node items from an AWS CloudFormation template -func (t *Template) GetAllManagedBlockchainNodeResources() map[string]*managedblockchain.Node { - results := map[string]*managedblockchain.Node{} +// GetAllOpsWorksInstanceResources retrieves all opsworks.Instance items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksInstanceResources() map[string]*opsworks.Instance { + results := map[string]*opsworks.Instance{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *managedblockchain.Node: + case *opsworks.Instance: results[name] = resource } } return results } -// GetManagedBlockchainNodeWithName retrieves all managedblockchain.Node items from an AWS CloudFormation template +// GetOpsWorksInstanceWithName retrieves all opsworks.Instance items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetManagedBlockchainNodeWithName(name string) (*managedblockchain.Node, error) { +func (t *Template) GetOpsWorksInstanceWithName(name string) (*opsworks.Instance, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *managedblockchain.Node: + case *opsworks.Instance: return resource, nil } } - return nil, fmt.Errorf("resource %q of type managedblockchain.Node not found", name) + return nil, fmt.Errorf("resource %q of type opsworks.Instance not found", name) } -// GetAllMediaConvertJobTemplateResources retrieves all mediaconvert.JobTemplate items from an AWS CloudFormation template -func (t *Template) GetAllMediaConvertJobTemplateResources() map[string]*mediaconvert.JobTemplate { - results := map[string]*mediaconvert.JobTemplate{} +// GetAllOpsWorksLayerResources retrieves all opsworks.Layer items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksLayerResources() map[string]*opsworks.Layer { + results := map[string]*opsworks.Layer{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediaconvert.JobTemplate: + case *opsworks.Layer: results[name] = resource } } return results } -// GetMediaConvertJobTemplateWithName retrieves all mediaconvert.JobTemplate items from an AWS CloudFormation template +// GetOpsWorksLayerWithName retrieves all opsworks.Layer items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaConvertJobTemplateWithName(name string) (*mediaconvert.JobTemplate, error) { +func (t *Template) GetOpsWorksLayerWithName(name string) (*opsworks.Layer, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediaconvert.JobTemplate: + case *opsworks.Layer: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediaconvert.JobTemplate not found", name) + return nil, fmt.Errorf("resource %q of type opsworks.Layer not found", name) } -// GetAllMediaConvertPresetResources retrieves all mediaconvert.Preset items from an AWS CloudFormation template -func (t *Template) GetAllMediaConvertPresetResources() map[string]*mediaconvert.Preset { - results := map[string]*mediaconvert.Preset{} +// GetAllOpsWorksStackResources retrieves all opsworks.Stack items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksStackResources() map[string]*opsworks.Stack { + results := map[string]*opsworks.Stack{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediaconvert.Preset: + case *opsworks.Stack: results[name] = resource } } return results } -// GetMediaConvertPresetWithName retrieves all mediaconvert.Preset items from an AWS CloudFormation template +// GetOpsWorksStackWithName retrieves all opsworks.Stack items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaConvertPresetWithName(name string) (*mediaconvert.Preset, error) { +func (t *Template) GetOpsWorksStackWithName(name string) (*opsworks.Stack, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediaconvert.Preset: + case *opsworks.Stack: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediaconvert.Preset not found", name) + return nil, fmt.Errorf("resource %q of type opsworks.Stack not found", name) } -// GetAllMediaConvertQueueResources retrieves all mediaconvert.Queue items from an AWS CloudFormation template -func (t *Template) GetAllMediaConvertQueueResources() map[string]*mediaconvert.Queue { - results := map[string]*mediaconvert.Queue{} +// GetAllOpsWorksUserProfileResources retrieves all opsworks.UserProfile items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksUserProfileResources() map[string]*opsworks.UserProfile { + results := map[string]*opsworks.UserProfile{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediaconvert.Queue: + case *opsworks.UserProfile: results[name] = resource } } return results } -// GetMediaConvertQueueWithName retrieves all mediaconvert.Queue items from an AWS CloudFormation template +// GetOpsWorksUserProfileWithName retrieves all opsworks.UserProfile items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaConvertQueueWithName(name string) (*mediaconvert.Queue, error) { +func (t *Template) GetOpsWorksUserProfileWithName(name string) (*opsworks.UserProfile, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediaconvert.Queue: + case *opsworks.UserProfile: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediaconvert.Queue not found", name) + return nil, fmt.Errorf("resource %q of type opsworks.UserProfile not found", name) } -// GetAllMediaLiveChannelResources retrieves all medialive.Channel items from an AWS CloudFormation template -func (t *Template) GetAllMediaLiveChannelResources() map[string]*medialive.Channel { - results := map[string]*medialive.Channel{} +// GetAllOpsWorksVolumeResources retrieves all opsworks.Volume items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksVolumeResources() map[string]*opsworks.Volume { + results := map[string]*opsworks.Volume{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *medialive.Channel: + case *opsworks.Volume: results[name] = resource } } return results } -// GetMediaLiveChannelWithName retrieves all medialive.Channel items from an AWS CloudFormation template +// GetOpsWorksVolumeWithName retrieves all opsworks.Volume items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaLiveChannelWithName(name string) (*medialive.Channel, error) { +func (t *Template) GetOpsWorksVolumeWithName(name string) (*opsworks.Volume, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *medialive.Channel: + case *opsworks.Volume: return resource, nil } } - return nil, fmt.Errorf("resource %q of type medialive.Channel not found", name) + return nil, fmt.Errorf("resource %q of type opsworks.Volume not found", name) } -// GetAllMediaLiveInputResources retrieves all medialive.Input items from an AWS CloudFormation template -func (t *Template) GetAllMediaLiveInputResources() map[string]*medialive.Input { - results := map[string]*medialive.Input{} +// GetAllOpsWorksCMServerResources retrieves all opsworkscm.Server items from an AWS CloudFormation template +func (t *Template) GetAllOpsWorksCMServerResources() map[string]*opsworkscm.Server { + results := map[string]*opsworkscm.Server{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *medialive.Input: + case *opsworkscm.Server: results[name] = resource } } return results } -// GetMediaLiveInputWithName retrieves all medialive.Input items from an AWS CloudFormation template +// GetOpsWorksCMServerWithName retrieves all opsworkscm.Server items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaLiveInputWithName(name string) (*medialive.Input, error) { +func (t *Template) GetOpsWorksCMServerWithName(name string) (*opsworkscm.Server, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *medialive.Input: + case *opsworkscm.Server: return resource, nil } } - return nil, fmt.Errorf("resource %q of type medialive.Input not found", name) + return nil, fmt.Errorf("resource %q of type opsworkscm.Server not found", name) } -// GetAllMediaLiveInputSecurityGroupResources retrieves all medialive.InputSecurityGroup items from an AWS CloudFormation template -func (t *Template) GetAllMediaLiveInputSecurityGroupResources() map[string]*medialive.InputSecurityGroup { - results := map[string]*medialive.InputSecurityGroup{} +// GetAllPinpointADMChannelResources retrieves all pinpoint.ADMChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointADMChannelResources() map[string]*pinpoint.ADMChannel { + results := map[string]*pinpoint.ADMChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *medialive.InputSecurityGroup: + case *pinpoint.ADMChannel: results[name] = resource } } return results } -// GetMediaLiveInputSecurityGroupWithName retrieves all medialive.InputSecurityGroup items from an AWS CloudFormation template +// GetPinpointADMChannelWithName retrieves all pinpoint.ADMChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaLiveInputSecurityGroupWithName(name string) (*medialive.InputSecurityGroup, error) { +func (t *Template) GetPinpointADMChannelWithName(name string) (*pinpoint.ADMChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *medialive.InputSecurityGroup: + case *pinpoint.ADMChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type medialive.InputSecurityGroup not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.ADMChannel not found", name) } -// GetAllMediaPackageAssetResources retrieves all mediapackage.Asset items from an AWS CloudFormation template -func (t *Template) GetAllMediaPackageAssetResources() map[string]*mediapackage.Asset { - results := map[string]*mediapackage.Asset{} +// GetAllPinpointAPNSChannelResources retrieves all pinpoint.APNSChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointAPNSChannelResources() map[string]*pinpoint.APNSChannel { + results := map[string]*pinpoint.APNSChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediapackage.Asset: + case *pinpoint.APNSChannel: results[name] = resource } } return results } -// GetMediaPackageAssetWithName retrieves all mediapackage.Asset items from an AWS CloudFormation template +// GetPinpointAPNSChannelWithName retrieves all pinpoint.APNSChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaPackageAssetWithName(name string) (*mediapackage.Asset, error) { +func (t *Template) GetPinpointAPNSChannelWithName(name string) (*pinpoint.APNSChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediapackage.Asset: + case *pinpoint.APNSChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediapackage.Asset not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.APNSChannel not found", name) } -// GetAllMediaPackageChannelResources retrieves all mediapackage.Channel items from an AWS CloudFormation template -func (t *Template) GetAllMediaPackageChannelResources() map[string]*mediapackage.Channel { - results := map[string]*mediapackage.Channel{} +// GetAllPinpointAPNSSandboxChannelResources retrieves all pinpoint.APNSSandboxChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointAPNSSandboxChannelResources() map[string]*pinpoint.APNSSandboxChannel { + results := map[string]*pinpoint.APNSSandboxChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediapackage.Channel: + case *pinpoint.APNSSandboxChannel: results[name] = resource } } return results } -// GetMediaPackageChannelWithName retrieves all mediapackage.Channel items from an AWS CloudFormation template +// GetPinpointAPNSSandboxChannelWithName retrieves all pinpoint.APNSSandboxChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaPackageChannelWithName(name string) (*mediapackage.Channel, error) { +func (t *Template) GetPinpointAPNSSandboxChannelWithName(name string) (*pinpoint.APNSSandboxChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediapackage.Channel: + case *pinpoint.APNSSandboxChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediapackage.Channel not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.APNSSandboxChannel not found", name) } -// GetAllMediaPackageOriginEndpointResources retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template -func (t *Template) GetAllMediaPackageOriginEndpointResources() map[string]*mediapackage.OriginEndpoint { - results := map[string]*mediapackage.OriginEndpoint{} +// GetAllPinpointAPNSVoipChannelResources retrieves all pinpoint.APNSVoipChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointAPNSVoipChannelResources() map[string]*pinpoint.APNSVoipChannel { + results := map[string]*pinpoint.APNSVoipChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediapackage.OriginEndpoint: + case *pinpoint.APNSVoipChannel: results[name] = resource } } return results } -// GetMediaPackageOriginEndpointWithName retrieves all mediapackage.OriginEndpoint items from an AWS CloudFormation template +// GetPinpointAPNSVoipChannelWithName retrieves all pinpoint.APNSVoipChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaPackageOriginEndpointWithName(name string) (*mediapackage.OriginEndpoint, error) { +func (t *Template) GetPinpointAPNSVoipChannelWithName(name string) (*pinpoint.APNSVoipChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediapackage.OriginEndpoint: + case *pinpoint.APNSVoipChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediapackage.OriginEndpoint not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.APNSVoipChannel not found", name) } -// GetAllMediaPackagePackagingConfigurationResources retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template -func (t *Template) GetAllMediaPackagePackagingConfigurationResources() map[string]*mediapackage.PackagingConfiguration { - results := map[string]*mediapackage.PackagingConfiguration{} +// GetAllPinpointAPNSVoipSandboxChannelResources retrieves all pinpoint.APNSVoipSandboxChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointAPNSVoipSandboxChannelResources() map[string]*pinpoint.APNSVoipSandboxChannel { + results := map[string]*pinpoint.APNSVoipSandboxChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediapackage.PackagingConfiguration: + case *pinpoint.APNSVoipSandboxChannel: results[name] = resource } } return results } -// GetMediaPackagePackagingConfigurationWithName retrieves all mediapackage.PackagingConfiguration items from an AWS CloudFormation template +// GetPinpointAPNSVoipSandboxChannelWithName retrieves all pinpoint.APNSVoipSandboxChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaPackagePackagingConfigurationWithName(name string) (*mediapackage.PackagingConfiguration, error) { +func (t *Template) GetPinpointAPNSVoipSandboxChannelWithName(name string) (*pinpoint.APNSVoipSandboxChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediapackage.PackagingConfiguration: + case *pinpoint.APNSVoipSandboxChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediapackage.PackagingConfiguration not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.APNSVoipSandboxChannel not found", name) } -// GetAllMediaPackagePackagingGroupResources retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template -func (t *Template) GetAllMediaPackagePackagingGroupResources() map[string]*mediapackage.PackagingGroup { - results := map[string]*mediapackage.PackagingGroup{} +// GetAllPinpointAppResources retrieves all pinpoint.App items from an AWS CloudFormation template +func (t *Template) GetAllPinpointAppResources() map[string]*pinpoint.App { + results := map[string]*pinpoint.App{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediapackage.PackagingGroup: + case *pinpoint.App: results[name] = resource } } return results } -// GetMediaPackagePackagingGroupWithName retrieves all mediapackage.PackagingGroup items from an AWS CloudFormation template +// GetPinpointAppWithName retrieves all pinpoint.App items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaPackagePackagingGroupWithName(name string) (*mediapackage.PackagingGroup, error) { +func (t *Template) GetPinpointAppWithName(name string) (*pinpoint.App, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediapackage.PackagingGroup: + case *pinpoint.App: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediapackage.PackagingGroup not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.App not found", name) } -// GetAllMediaStoreContainerResources retrieves all mediastore.Container items from an AWS CloudFormation template -func (t *Template) GetAllMediaStoreContainerResources() map[string]*mediastore.Container { - results := map[string]*mediastore.Container{} +// GetAllPinpointApplicationSettingsResources retrieves all pinpoint.ApplicationSettings items from an AWS CloudFormation template +func (t *Template) GetAllPinpointApplicationSettingsResources() map[string]*pinpoint.ApplicationSettings { + results := map[string]*pinpoint.ApplicationSettings{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *mediastore.Container: + case *pinpoint.ApplicationSettings: results[name] = resource } } return results } -// GetMediaStoreContainerWithName retrieves all mediastore.Container items from an AWS CloudFormation template +// GetPinpointApplicationSettingsWithName retrieves all pinpoint.ApplicationSettings items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetMediaStoreContainerWithName(name string) (*mediastore.Container, error) { +func (t *Template) GetPinpointApplicationSettingsWithName(name string) (*pinpoint.ApplicationSettings, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *mediastore.Container: + case *pinpoint.ApplicationSettings: return resource, nil } } - return nil, fmt.Errorf("resource %q of type mediastore.Container not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.ApplicationSettings not found", name) } -// GetAllNeptuneDBClusterResources retrieves all neptune.DBCluster items from an AWS CloudFormation template -func (t *Template) GetAllNeptuneDBClusterResources() map[string]*neptune.DBCluster { - results := map[string]*neptune.DBCluster{} +// GetAllPinpointBaiduChannelResources retrieves all pinpoint.BaiduChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointBaiduChannelResources() map[string]*pinpoint.BaiduChannel { + results := map[string]*pinpoint.BaiduChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *neptune.DBCluster: + case *pinpoint.BaiduChannel: results[name] = resource } } return results } -// GetNeptuneDBClusterWithName retrieves all neptune.DBCluster items from an AWS CloudFormation template +// GetPinpointBaiduChannelWithName retrieves all pinpoint.BaiduChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetNeptuneDBClusterWithName(name string) (*neptune.DBCluster, error) { +func (t *Template) GetPinpointBaiduChannelWithName(name string) (*pinpoint.BaiduChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *neptune.DBCluster: + case *pinpoint.BaiduChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type neptune.DBCluster not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.BaiduChannel not found", name) } -// GetAllNeptuneDBClusterParameterGroupResources retrieves all neptune.DBClusterParameterGroup items from an AWS CloudFormation template -func (t *Template) GetAllNeptuneDBClusterParameterGroupResources() map[string]*neptune.DBClusterParameterGroup { - results := map[string]*neptune.DBClusterParameterGroup{} +// GetAllPinpointCampaignResources retrieves all pinpoint.Campaign items from an AWS CloudFormation template +func (t *Template) GetAllPinpointCampaignResources() map[string]*pinpoint.Campaign { + results := map[string]*pinpoint.Campaign{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *neptune.DBClusterParameterGroup: + case *pinpoint.Campaign: results[name] = resource } } return results } -// GetNeptuneDBClusterParameterGroupWithName retrieves all neptune.DBClusterParameterGroup items from an AWS CloudFormation template +// GetPinpointCampaignWithName retrieves all pinpoint.Campaign items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetNeptuneDBClusterParameterGroupWithName(name string) (*neptune.DBClusterParameterGroup, error) { +func (t *Template) GetPinpointCampaignWithName(name string) (*pinpoint.Campaign, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *neptune.DBClusterParameterGroup: + case *pinpoint.Campaign: return resource, nil } } - return nil, fmt.Errorf("resource %q of type neptune.DBClusterParameterGroup not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.Campaign not found", name) } -// GetAllNeptuneDBInstanceResources retrieves all neptune.DBInstance items from an AWS CloudFormation template -func (t *Template) GetAllNeptuneDBInstanceResources() map[string]*neptune.DBInstance { - results := map[string]*neptune.DBInstance{} +// GetAllPinpointEmailChannelResources retrieves all pinpoint.EmailChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointEmailChannelResources() map[string]*pinpoint.EmailChannel { + results := map[string]*pinpoint.EmailChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *neptune.DBInstance: + case *pinpoint.EmailChannel: results[name] = resource } } return results } -// GetNeptuneDBInstanceWithName retrieves all neptune.DBInstance items from an AWS CloudFormation template +// GetPinpointEmailChannelWithName retrieves all pinpoint.EmailChannel items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetNeptuneDBInstanceWithName(name string) (*neptune.DBInstance, error) { +func (t *Template) GetPinpointEmailChannelWithName(name string) (*pinpoint.EmailChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *neptune.DBInstance: + case *pinpoint.EmailChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type neptune.DBInstance not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.EmailChannel not found", name) } -// GetAllNeptuneDBParameterGroupResources retrieves all neptune.DBParameterGroup items from an AWS CloudFormation template -func (t *Template) GetAllNeptuneDBParameterGroupResources() map[string]*neptune.DBParameterGroup { - results := map[string]*neptune.DBParameterGroup{} +// GetAllPinpointEmailTemplateResources retrieves all pinpoint.EmailTemplate items from an AWS CloudFormation template +func (t *Template) GetAllPinpointEmailTemplateResources() map[string]*pinpoint.EmailTemplate { + results := map[string]*pinpoint.EmailTemplate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *neptune.DBParameterGroup: + case *pinpoint.EmailTemplate: results[name] = resource } } return results } -// GetNeptuneDBParameterGroupWithName retrieves all neptune.DBParameterGroup items from an AWS CloudFormation template +// GetPinpointEmailTemplateWithName retrieves all pinpoint.EmailTemplate items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetNeptuneDBParameterGroupWithName(name string) (*neptune.DBParameterGroup, error) { +func (t *Template) GetPinpointEmailTemplateWithName(name string) (*pinpoint.EmailTemplate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *neptune.DBParameterGroup: + case *pinpoint.EmailTemplate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type neptune.DBParameterGroup not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.EmailTemplate not found", name) } -// GetAllNeptuneDBSubnetGroupResources retrieves all neptune.DBSubnetGroup items from an AWS CloudFormation template -func (t *Template) GetAllNeptuneDBSubnetGroupResources() map[string]*neptune.DBSubnetGroup { - results := map[string]*neptune.DBSubnetGroup{} +// GetAllPinpointEventStreamResources retrieves all pinpoint.EventStream items from an AWS CloudFormation template +func (t *Template) GetAllPinpointEventStreamResources() map[string]*pinpoint.EventStream { + results := map[string]*pinpoint.EventStream{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *neptune.DBSubnetGroup: + case *pinpoint.EventStream: results[name] = resource } } return results } -// GetNeptuneDBSubnetGroupWithName retrieves all neptune.DBSubnetGroup items from an AWS CloudFormation template +// GetPinpointEventStreamWithName retrieves all pinpoint.EventStream items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetNeptuneDBSubnetGroupWithName(name string) (*neptune.DBSubnetGroup, error) { +func (t *Template) GetPinpointEventStreamWithName(name string) (*pinpoint.EventStream, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *neptune.DBSubnetGroup: + case *pinpoint.EventStream: return resource, nil } } - return nil, fmt.Errorf("resource %q of type neptune.DBSubnetGroup not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.EventStream 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{} +// GetAllPinpointGCMChannelResources retrieves all pinpoint.GCMChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointGCMChannelResources() map[string]*pinpoint.GCMChannel { + results := map[string]*pinpoint.GCMChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *networkmanager.CustomerGatewayAssociation: + case *pinpoint.GCMChannel: results[name] = resource } } return results } -// GetNetworkManagerCustomerGatewayAssociationWithName retrieves all networkmanager.CustomerGatewayAssociation items from an AWS CloudFormation template +// GetPinpointGCMChannelWithName retrieves all pinpoint.GCMChannel 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) { +func (t *Template) GetPinpointGCMChannelWithName(name string) (*pinpoint.GCMChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *networkmanager.CustomerGatewayAssociation: + case *pinpoint.GCMChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type networkmanager.CustomerGatewayAssociation not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.GCMChannel 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{} +// GetAllPinpointPushTemplateResources retrieves all pinpoint.PushTemplate items from an AWS CloudFormation template +func (t *Template) GetAllPinpointPushTemplateResources() map[string]*pinpoint.PushTemplate { + results := map[string]*pinpoint.PushTemplate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *networkmanager.Device: + case *pinpoint.PushTemplate: results[name] = resource } } return results } -// GetNetworkManagerDeviceWithName retrieves all networkmanager.Device items from an AWS CloudFormation template +// GetPinpointPushTemplateWithName retrieves all pinpoint.PushTemplate 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) { +func (t *Template) GetPinpointPushTemplateWithName(name string) (*pinpoint.PushTemplate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *networkmanager.Device: + case *pinpoint.PushTemplate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type networkmanager.Device not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.PushTemplate 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{} +// GetAllPinpointSMSChannelResources retrieves all pinpoint.SMSChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointSMSChannelResources() map[string]*pinpoint.SMSChannel { + results := map[string]*pinpoint.SMSChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *networkmanager.GlobalNetwork: + case *pinpoint.SMSChannel: results[name] = resource } } return results } -// GetNetworkManagerGlobalNetworkWithName retrieves all networkmanager.GlobalNetwork items from an AWS CloudFormation template +// GetPinpointSMSChannelWithName retrieves all pinpoint.SMSChannel 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) { +func (t *Template) GetPinpointSMSChannelWithName(name string) (*pinpoint.SMSChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *networkmanager.GlobalNetwork: + case *pinpoint.SMSChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type networkmanager.GlobalNetwork not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.SMSChannel 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{} +// GetAllPinpointSegmentResources retrieves all pinpoint.Segment items from an AWS CloudFormation template +func (t *Template) GetAllPinpointSegmentResources() map[string]*pinpoint.Segment { + results := map[string]*pinpoint.Segment{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *networkmanager.Link: + case *pinpoint.Segment: results[name] = resource } } return results } -// GetNetworkManagerLinkWithName retrieves all networkmanager.Link items from an AWS CloudFormation template +// GetPinpointSegmentWithName retrieves all pinpoint.Segment 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) { +func (t *Template) GetPinpointSegmentWithName(name string) (*pinpoint.Segment, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *networkmanager.Link: + case *pinpoint.Segment: return resource, nil } } - return nil, fmt.Errorf("resource %q of type networkmanager.Link not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.Segment 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{} +// GetAllPinpointSmsTemplateResources retrieves all pinpoint.SmsTemplate items from an AWS CloudFormation template +func (t *Template) GetAllPinpointSmsTemplateResources() map[string]*pinpoint.SmsTemplate { + results := map[string]*pinpoint.SmsTemplate{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *networkmanager.LinkAssociation: + case *pinpoint.SmsTemplate: results[name] = resource } } return results } -// GetNetworkManagerLinkAssociationWithName retrieves all networkmanager.LinkAssociation items from an AWS CloudFormation template +// GetPinpointSmsTemplateWithName retrieves all pinpoint.SmsTemplate 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) { +func (t *Template) GetPinpointSmsTemplateWithName(name string) (*pinpoint.SmsTemplate, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *networkmanager.LinkAssociation: + case *pinpoint.SmsTemplate: return resource, nil } } - return nil, fmt.Errorf("resource %q of type networkmanager.LinkAssociation not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.SmsTemplate 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{} +// GetAllPinpointVoiceChannelResources retrieves all pinpoint.VoiceChannel items from an AWS CloudFormation template +func (t *Template) GetAllPinpointVoiceChannelResources() map[string]*pinpoint.VoiceChannel { + results := map[string]*pinpoint.VoiceChannel{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *networkmanager.Site: + case *pinpoint.VoiceChannel: results[name] = resource } } return results } -// GetNetworkManagerSiteWithName retrieves all networkmanager.Site items from an AWS CloudFormation template +// GetPinpointVoiceChannelWithName retrieves all pinpoint.VoiceChannel 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) { +func (t *Template) GetPinpointVoiceChannelWithName(name string) (*pinpoint.VoiceChannel, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *networkmanager.Site: + case *pinpoint.VoiceChannel: return resource, nil } } - return nil, fmt.Errorf("resource %q of type networkmanager.Site not found", name) + return nil, fmt.Errorf("resource %q of type pinpoint.VoiceChannel 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{} +// GetAllPinpointEmailConfigurationSetResources retrieves all pinpointemail.ConfigurationSet items from an AWS CloudFormation template +func (t *Template) GetAllPinpointEmailConfigurationSetResources() map[string]*pinpointemail.ConfigurationSet { + results := map[string]*pinpointemail.ConfigurationSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *networkmanager.TransitGatewayRegistration: + case *pinpointemail.ConfigurationSet: results[name] = resource } } return results } -// GetNetworkManagerTransitGatewayRegistrationWithName retrieves all networkmanager.TransitGatewayRegistration items from an AWS CloudFormation template +// GetPinpointEmailConfigurationSetWithName retrieves all pinpointemail.ConfigurationSet 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) { +func (t *Template) GetPinpointEmailConfigurationSetWithName(name string) (*pinpointemail.ConfigurationSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *networkmanager.TransitGatewayRegistration: + case *pinpointemail.ConfigurationSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type networkmanager.TransitGatewayRegistration not found", name) + return nil, fmt.Errorf("resource %q of type pinpointemail.ConfigurationSet 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{} +// GetAllPinpointEmailConfigurationSetEventDestinationResources retrieves all pinpointemail.ConfigurationSetEventDestination items from an AWS CloudFormation template +func (t *Template) GetAllPinpointEmailConfigurationSetEventDestinationResources() map[string]*pinpointemail.ConfigurationSetEventDestination { + results := map[string]*pinpointemail.ConfigurationSetEventDestination{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworks.App: + case *pinpointemail.ConfigurationSetEventDestination: results[name] = resource } } return results } -// GetOpsWorksAppWithName retrieves all opsworks.App items from an AWS CloudFormation template +// GetPinpointEmailConfigurationSetEventDestinationWithName retrieves all pinpointemail.ConfigurationSetEventDestination items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksAppWithName(name string) (*opsworks.App, error) { +func (t *Template) GetPinpointEmailConfigurationSetEventDestinationWithName(name string) (*pinpointemail.ConfigurationSetEventDestination, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworks.App: + case *pinpointemail.ConfigurationSetEventDestination: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworks.App not found", name) + return nil, fmt.Errorf("resource %q of type pinpointemail.ConfigurationSetEventDestination not found", name) } -// GetAllOpsWorksElasticLoadBalancerAttachmentResources retrieves all opsworks.ElasticLoadBalancerAttachment items from an AWS CloudFormation template -func (t *Template) GetAllOpsWorksElasticLoadBalancerAttachmentResources() map[string]*opsworks.ElasticLoadBalancerAttachment { - results := map[string]*opsworks.ElasticLoadBalancerAttachment{} +// GetAllPinpointEmailDedicatedIpPoolResources retrieves all pinpointemail.DedicatedIpPool items from an AWS CloudFormation template +func (t *Template) GetAllPinpointEmailDedicatedIpPoolResources() map[string]*pinpointemail.DedicatedIpPool { + results := map[string]*pinpointemail.DedicatedIpPool{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworks.ElasticLoadBalancerAttachment: + case *pinpointemail.DedicatedIpPool: results[name] = resource } } return results } -// GetOpsWorksElasticLoadBalancerAttachmentWithName retrieves all opsworks.ElasticLoadBalancerAttachment items from an AWS CloudFormation template +// GetPinpointEmailDedicatedIpPoolWithName retrieves all pinpointemail.DedicatedIpPool items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksElasticLoadBalancerAttachmentWithName(name string) (*opsworks.ElasticLoadBalancerAttachment, error) { +func (t *Template) GetPinpointEmailDedicatedIpPoolWithName(name string) (*pinpointemail.DedicatedIpPool, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworks.ElasticLoadBalancerAttachment: + case *pinpointemail.DedicatedIpPool: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworks.ElasticLoadBalancerAttachment not found", name) + return nil, fmt.Errorf("resource %q of type pinpointemail.DedicatedIpPool not found", name) } -// GetAllOpsWorksInstanceResources retrieves all opsworks.Instance items from an AWS CloudFormation template -func (t *Template) GetAllOpsWorksInstanceResources() map[string]*opsworks.Instance { - results := map[string]*opsworks.Instance{} +// GetAllPinpointEmailIdentityResources retrieves all pinpointemail.Identity items from an AWS CloudFormation template +func (t *Template) GetAllPinpointEmailIdentityResources() map[string]*pinpointemail.Identity { + results := map[string]*pinpointemail.Identity{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworks.Instance: + case *pinpointemail.Identity: results[name] = resource } } return results } -// GetOpsWorksInstanceWithName retrieves all opsworks.Instance items from an AWS CloudFormation template +// GetPinpointEmailIdentityWithName retrieves all pinpointemail.Identity items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksInstanceWithName(name string) (*opsworks.Instance, error) { +func (t *Template) GetPinpointEmailIdentityWithName(name string) (*pinpointemail.Identity, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworks.Instance: + case *pinpointemail.Identity: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworks.Instance not found", name) + return nil, fmt.Errorf("resource %q of type pinpointemail.Identity not found", name) } -// GetAllOpsWorksLayerResources retrieves all opsworks.Layer items from an AWS CloudFormation template -func (t *Template) GetAllOpsWorksLayerResources() map[string]*opsworks.Layer { - results := map[string]*opsworks.Layer{} +// GetAllQLDBLedgerResources retrieves all qldb.Ledger items from an AWS CloudFormation template +func (t *Template) GetAllQLDBLedgerResources() map[string]*qldb.Ledger { + results := map[string]*qldb.Ledger{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworks.Layer: + case *qldb.Ledger: results[name] = resource } } return results } -// GetOpsWorksLayerWithName retrieves all opsworks.Layer items from an AWS CloudFormation template +// GetQLDBLedgerWithName retrieves all qldb.Ledger items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksLayerWithName(name string) (*opsworks.Layer, error) { +func (t *Template) GetQLDBLedgerWithName(name string) (*qldb.Ledger, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworks.Layer: + case *qldb.Ledger: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworks.Layer not found", name) + return nil, fmt.Errorf("resource %q of type qldb.Ledger not found", name) } -// GetAllOpsWorksStackResources retrieves all opsworks.Stack items from an AWS CloudFormation template -func (t *Template) GetAllOpsWorksStackResources() map[string]*opsworks.Stack { - results := map[string]*opsworks.Stack{} +// GetAllQLDBStreamResources retrieves all qldb.Stream items from an AWS CloudFormation template +func (t *Template) GetAllQLDBStreamResources() map[string]*qldb.Stream { + results := map[string]*qldb.Stream{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworks.Stack: + case *qldb.Stream: results[name] = resource } } return results } -// GetOpsWorksStackWithName retrieves all opsworks.Stack items from an AWS CloudFormation template +// GetQLDBStreamWithName retrieves all qldb.Stream items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksStackWithName(name string) (*opsworks.Stack, error) { +func (t *Template) GetQLDBStreamWithName(name string) (*qldb.Stream, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworks.Stack: + case *qldb.Stream: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworks.Stack not found", name) + return nil, fmt.Errorf("resource %q of type qldb.Stream not found", name) } -// GetAllOpsWorksUserProfileResources retrieves all opsworks.UserProfile items from an AWS CloudFormation template -func (t *Template) GetAllOpsWorksUserProfileResources() map[string]*opsworks.UserProfile { - results := map[string]*opsworks.UserProfile{} +// GetAllQuickSightAnalysisResources retrieves all quicksight.Analysis items from an AWS CloudFormation template +func (t *Template) GetAllQuickSightAnalysisResources() map[string]*quicksight.Analysis { + results := map[string]*quicksight.Analysis{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworks.UserProfile: + case *quicksight.Analysis: results[name] = resource } } return results } -// GetOpsWorksUserProfileWithName retrieves all opsworks.UserProfile items from an AWS CloudFormation template +// GetQuickSightAnalysisWithName retrieves all quicksight.Analysis items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksUserProfileWithName(name string) (*opsworks.UserProfile, error) { +func (t *Template) GetQuickSightAnalysisWithName(name string) (*quicksight.Analysis, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworks.UserProfile: + case *quicksight.Analysis: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworks.UserProfile not found", name) + return nil, fmt.Errorf("resource %q of type quicksight.Analysis not found", name) } -// GetAllOpsWorksVolumeResources retrieves all opsworks.Volume items from an AWS CloudFormation template -func (t *Template) GetAllOpsWorksVolumeResources() map[string]*opsworks.Volume { - results := map[string]*opsworks.Volume{} +// GetAllQuickSightDashboardResources retrieves all quicksight.Dashboard items from an AWS CloudFormation template +func (t *Template) GetAllQuickSightDashboardResources() map[string]*quicksight.Dashboard { + results := map[string]*quicksight.Dashboard{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworks.Volume: + case *quicksight.Dashboard: results[name] = resource } } return results } -// GetOpsWorksVolumeWithName retrieves all opsworks.Volume items from an AWS CloudFormation template +// GetQuickSightDashboardWithName retrieves all quicksight.Dashboard items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksVolumeWithName(name string) (*opsworks.Volume, error) { +func (t *Template) GetQuickSightDashboardWithName(name string) (*quicksight.Dashboard, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworks.Volume: + case *quicksight.Dashboard: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworks.Volume not found", name) + return nil, fmt.Errorf("resource %q of type quicksight.Dashboard not found", name) } -// GetAllOpsWorksCMServerResources retrieves all opsworkscm.Server items from an AWS CloudFormation template -func (t *Template) GetAllOpsWorksCMServerResources() map[string]*opsworkscm.Server { - results := map[string]*opsworkscm.Server{} +// GetAllQuickSightTemplateResources retrieves all quicksight.Template items from an AWS CloudFormation template +func (t *Template) GetAllQuickSightTemplateResources() map[string]*quicksight.Template { + results := map[string]*quicksight.Template{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *opsworkscm.Server: + case *quicksight.Template: results[name] = resource } } return results } -// GetOpsWorksCMServerWithName retrieves all opsworkscm.Server items from an AWS CloudFormation template +// GetQuickSightTemplateWithName retrieves all quicksight.Template items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetOpsWorksCMServerWithName(name string) (*opsworkscm.Server, error) { +func (t *Template) GetQuickSightTemplateWithName(name string) (*quicksight.Template, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *opsworkscm.Server: + case *quicksight.Template: return resource, nil } } - return nil, fmt.Errorf("resource %q of type opsworkscm.Server not found", name) + return nil, fmt.Errorf("resource %q of type quicksight.Template not found", name) } -// GetAllPinpointADMChannelResources retrieves all pinpoint.ADMChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointADMChannelResources() map[string]*pinpoint.ADMChannel { - results := map[string]*pinpoint.ADMChannel{} +// GetAllQuickSightThemeResources retrieves all quicksight.Theme items from an AWS CloudFormation template +func (t *Template) GetAllQuickSightThemeResources() map[string]*quicksight.Theme { + results := map[string]*quicksight.Theme{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.ADMChannel: + case *quicksight.Theme: results[name] = resource } } return results } -// GetPinpointADMChannelWithName retrieves all pinpoint.ADMChannel items from an AWS CloudFormation template +// GetQuickSightThemeWithName retrieves all quicksight.Theme items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointADMChannelWithName(name string) (*pinpoint.ADMChannel, error) { +func (t *Template) GetQuickSightThemeWithName(name string) (*quicksight.Theme, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.ADMChannel: + case *quicksight.Theme: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.ADMChannel not found", name) + return nil, fmt.Errorf("resource %q of type quicksight.Theme not found", name) } -// GetAllPinpointAPNSChannelResources retrieves all pinpoint.APNSChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointAPNSChannelResources() map[string]*pinpoint.APNSChannel { - results := map[string]*pinpoint.APNSChannel{} +// GetAllRAMResourceShareResources retrieves all ram.ResourceShare items from an AWS CloudFormation template +func (t *Template) GetAllRAMResourceShareResources() map[string]*ram.ResourceShare { + results := map[string]*ram.ResourceShare{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.APNSChannel: + case *ram.ResourceShare: results[name] = resource } } return results } -// GetPinpointAPNSChannelWithName retrieves all pinpoint.APNSChannel items from an AWS CloudFormation template +// GetRAMResourceShareWithName retrieves all ram.ResourceShare items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointAPNSChannelWithName(name string) (*pinpoint.APNSChannel, error) { +func (t *Template) GetRAMResourceShareWithName(name string) (*ram.ResourceShare, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.APNSChannel: + case *ram.ResourceShare: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.APNSChannel not found", name) + return nil, fmt.Errorf("resource %q of type ram.ResourceShare not found", name) } -// GetAllPinpointAPNSSandboxChannelResources retrieves all pinpoint.APNSSandboxChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointAPNSSandboxChannelResources() map[string]*pinpoint.APNSSandboxChannel { - results := map[string]*pinpoint.APNSSandboxChannel{} +// GetAllRDSDBClusterResources retrieves all rds.DBCluster items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBClusterResources() map[string]*rds.DBCluster { + results := map[string]*rds.DBCluster{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.APNSSandboxChannel: + case *rds.DBCluster: results[name] = resource } } return results } -// GetPinpointAPNSSandboxChannelWithName retrieves all pinpoint.APNSSandboxChannel items from an AWS CloudFormation template +// GetRDSDBClusterWithName retrieves all rds.DBCluster items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointAPNSSandboxChannelWithName(name string) (*pinpoint.APNSSandboxChannel, error) { +func (t *Template) GetRDSDBClusterWithName(name string) (*rds.DBCluster, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.APNSSandboxChannel: + case *rds.DBCluster: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.APNSSandboxChannel not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBCluster not found", name) } -// GetAllPinpointAPNSVoipChannelResources retrieves all pinpoint.APNSVoipChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointAPNSVoipChannelResources() map[string]*pinpoint.APNSVoipChannel { - results := map[string]*pinpoint.APNSVoipChannel{} +// GetAllRDSDBClusterParameterGroupResources retrieves all rds.DBClusterParameterGroup items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBClusterParameterGroupResources() map[string]*rds.DBClusterParameterGroup { + results := map[string]*rds.DBClusterParameterGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.APNSVoipChannel: + case *rds.DBClusterParameterGroup: results[name] = resource } } return results } -// GetPinpointAPNSVoipChannelWithName retrieves all pinpoint.APNSVoipChannel items from an AWS CloudFormation template +// GetRDSDBClusterParameterGroupWithName retrieves all rds.DBClusterParameterGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointAPNSVoipChannelWithName(name string) (*pinpoint.APNSVoipChannel, error) { +func (t *Template) GetRDSDBClusterParameterGroupWithName(name string) (*rds.DBClusterParameterGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.APNSVoipChannel: + case *rds.DBClusterParameterGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.APNSVoipChannel not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBClusterParameterGroup not found", name) } -// GetAllPinpointAPNSVoipSandboxChannelResources retrieves all pinpoint.APNSVoipSandboxChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointAPNSVoipSandboxChannelResources() map[string]*pinpoint.APNSVoipSandboxChannel { - results := map[string]*pinpoint.APNSVoipSandboxChannel{} +// GetAllRDSDBInstanceResources retrieves all rds.DBInstance items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBInstanceResources() map[string]*rds.DBInstance { + results := map[string]*rds.DBInstance{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.APNSVoipSandboxChannel: + case *rds.DBInstance: results[name] = resource } } return results } -// GetPinpointAPNSVoipSandboxChannelWithName retrieves all pinpoint.APNSVoipSandboxChannel items from an AWS CloudFormation template +// GetRDSDBInstanceWithName retrieves all rds.DBInstance items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointAPNSVoipSandboxChannelWithName(name string) (*pinpoint.APNSVoipSandboxChannel, error) { +func (t *Template) GetRDSDBInstanceWithName(name string) (*rds.DBInstance, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.APNSVoipSandboxChannel: + case *rds.DBInstance: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.APNSVoipSandboxChannel not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBInstance not found", name) } -// GetAllPinpointAppResources retrieves all pinpoint.App items from an AWS CloudFormation template -func (t *Template) GetAllPinpointAppResources() map[string]*pinpoint.App { - results := map[string]*pinpoint.App{} +// GetAllRDSDBParameterGroupResources retrieves all rds.DBParameterGroup items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBParameterGroupResources() map[string]*rds.DBParameterGroup { + results := map[string]*rds.DBParameterGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.App: + case *rds.DBParameterGroup: results[name] = resource } } return results } -// GetPinpointAppWithName retrieves all pinpoint.App items from an AWS CloudFormation template +// GetRDSDBParameterGroupWithName retrieves all rds.DBParameterGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointAppWithName(name string) (*pinpoint.App, error) { +func (t *Template) GetRDSDBParameterGroupWithName(name string) (*rds.DBParameterGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.App: + case *rds.DBParameterGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.App not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBParameterGroup not found", name) } -// GetAllPinpointApplicationSettingsResources retrieves all pinpoint.ApplicationSettings items from an AWS CloudFormation template -func (t *Template) GetAllPinpointApplicationSettingsResources() map[string]*pinpoint.ApplicationSettings { - results := map[string]*pinpoint.ApplicationSettings{} +// 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 *pinpoint.ApplicationSettings: + case *rds.DBProxy: results[name] = resource } } return results } -// GetPinpointApplicationSettingsWithName retrieves all pinpoint.ApplicationSettings items from an AWS CloudFormation template +// 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) GetPinpointApplicationSettingsWithName(name string) (*pinpoint.ApplicationSettings, error) { +func (t *Template) GetRDSDBProxyWithName(name string) (*rds.DBProxy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.ApplicationSettings: + case *rds.DBProxy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.ApplicationSettings not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBProxy not found", name) } -// GetAllPinpointBaiduChannelResources retrieves all pinpoint.BaiduChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointBaiduChannelResources() map[string]*pinpoint.BaiduChannel { - results := map[string]*pinpoint.BaiduChannel{} +// 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 *pinpoint.BaiduChannel: + case *rds.DBProxyTargetGroup: results[name] = resource } } return results } -// GetPinpointBaiduChannelWithName retrieves all pinpoint.BaiduChannel items from an AWS CloudFormation template +// 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) GetPinpointBaiduChannelWithName(name string) (*pinpoint.BaiduChannel, error) { +func (t *Template) GetRDSDBProxyTargetGroupWithName(name string) (*rds.DBProxyTargetGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.BaiduChannel: + case *rds.DBProxyTargetGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.BaiduChannel not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBProxyTargetGroup not found", name) } -// GetAllPinpointCampaignResources retrieves all pinpoint.Campaign items from an AWS CloudFormation template -func (t *Template) GetAllPinpointCampaignResources() map[string]*pinpoint.Campaign { - results := map[string]*pinpoint.Campaign{} +// GetAllRDSDBSecurityGroupResources retrieves all rds.DBSecurityGroup items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBSecurityGroupResources() map[string]*rds.DBSecurityGroup { + results := map[string]*rds.DBSecurityGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.Campaign: + case *rds.DBSecurityGroup: results[name] = resource } } return results } -// GetPinpointCampaignWithName retrieves all pinpoint.Campaign items from an AWS CloudFormation template +// GetRDSDBSecurityGroupWithName retrieves all rds.DBSecurityGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointCampaignWithName(name string) (*pinpoint.Campaign, error) { +func (t *Template) GetRDSDBSecurityGroupWithName(name string) (*rds.DBSecurityGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.Campaign: + case *rds.DBSecurityGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.Campaign not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBSecurityGroup not found", name) } -// GetAllPinpointEmailChannelResources retrieves all pinpoint.EmailChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointEmailChannelResources() map[string]*pinpoint.EmailChannel { - results := map[string]*pinpoint.EmailChannel{} +// GetAllRDSDBSecurityGroupIngressResources retrieves all rds.DBSecurityGroupIngress items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBSecurityGroupIngressResources() map[string]*rds.DBSecurityGroupIngress { + results := map[string]*rds.DBSecurityGroupIngress{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.EmailChannel: + case *rds.DBSecurityGroupIngress: results[name] = resource } } return results } -// GetPinpointEmailChannelWithName retrieves all pinpoint.EmailChannel items from an AWS CloudFormation template +// GetRDSDBSecurityGroupIngressWithName retrieves all rds.DBSecurityGroupIngress items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointEmailChannelWithName(name string) (*pinpoint.EmailChannel, error) { +func (t *Template) GetRDSDBSecurityGroupIngressWithName(name string) (*rds.DBSecurityGroupIngress, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.EmailChannel: + case *rds.DBSecurityGroupIngress: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.EmailChannel not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBSecurityGroupIngress not found", name) } -// GetAllPinpointEmailTemplateResources retrieves all pinpoint.EmailTemplate items from an AWS CloudFormation template -func (t *Template) GetAllPinpointEmailTemplateResources() map[string]*pinpoint.EmailTemplate { - results := map[string]*pinpoint.EmailTemplate{} +// GetAllRDSDBSubnetGroupResources retrieves all rds.DBSubnetGroup items from an AWS CloudFormation template +func (t *Template) GetAllRDSDBSubnetGroupResources() map[string]*rds.DBSubnetGroup { + results := map[string]*rds.DBSubnetGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.EmailTemplate: + case *rds.DBSubnetGroup: results[name] = resource } } return results } -// GetPinpointEmailTemplateWithName retrieves all pinpoint.EmailTemplate items from an AWS CloudFormation template +// GetRDSDBSubnetGroupWithName retrieves all rds.DBSubnetGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointEmailTemplateWithName(name string) (*pinpoint.EmailTemplate, error) { +func (t *Template) GetRDSDBSubnetGroupWithName(name string) (*rds.DBSubnetGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.EmailTemplate: + case *rds.DBSubnetGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.EmailTemplate not found", name) + return nil, fmt.Errorf("resource %q of type rds.DBSubnetGroup not found", name) } -// GetAllPinpointEventStreamResources retrieves all pinpoint.EventStream items from an AWS CloudFormation template -func (t *Template) GetAllPinpointEventStreamResources() map[string]*pinpoint.EventStream { - results := map[string]*pinpoint.EventStream{} +// GetAllRDSEventSubscriptionResources retrieves all rds.EventSubscription items from an AWS CloudFormation template +func (t *Template) GetAllRDSEventSubscriptionResources() map[string]*rds.EventSubscription { + results := map[string]*rds.EventSubscription{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.EventStream: + case *rds.EventSubscription: results[name] = resource } } return results } -// GetPinpointEventStreamWithName retrieves all pinpoint.EventStream items from an AWS CloudFormation template +// GetRDSEventSubscriptionWithName retrieves all rds.EventSubscription items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointEventStreamWithName(name string) (*pinpoint.EventStream, error) { +func (t *Template) GetRDSEventSubscriptionWithName(name string) (*rds.EventSubscription, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.EventStream: + case *rds.EventSubscription: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.EventStream not found", name) + return nil, fmt.Errorf("resource %q of type rds.EventSubscription not found", name) } -// GetAllPinpointGCMChannelResources retrieves all pinpoint.GCMChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointGCMChannelResources() map[string]*pinpoint.GCMChannel { - results := map[string]*pinpoint.GCMChannel{} +// GetAllRDSGlobalClusterResources retrieves all rds.GlobalCluster items from an AWS CloudFormation template +func (t *Template) GetAllRDSGlobalClusterResources() map[string]*rds.GlobalCluster { + results := map[string]*rds.GlobalCluster{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.GCMChannel: + case *rds.GlobalCluster: results[name] = resource } } return results } -// GetPinpointGCMChannelWithName retrieves all pinpoint.GCMChannel items from an AWS CloudFormation template +// GetRDSGlobalClusterWithName retrieves all rds.GlobalCluster items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointGCMChannelWithName(name string) (*pinpoint.GCMChannel, error) { +func (t *Template) GetRDSGlobalClusterWithName(name string) (*rds.GlobalCluster, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.GCMChannel: + case *rds.GlobalCluster: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.GCMChannel not found", name) + return nil, fmt.Errorf("resource %q of type rds.GlobalCluster not found", name) } -// GetAllPinpointPushTemplateResources retrieves all pinpoint.PushTemplate items from an AWS CloudFormation template -func (t *Template) GetAllPinpointPushTemplateResources() map[string]*pinpoint.PushTemplate { - results := map[string]*pinpoint.PushTemplate{} +// GetAllRDSOptionGroupResources retrieves all rds.OptionGroup items from an AWS CloudFormation template +func (t *Template) GetAllRDSOptionGroupResources() map[string]*rds.OptionGroup { + results := map[string]*rds.OptionGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.PushTemplate: + case *rds.OptionGroup: results[name] = resource } } return results } -// GetPinpointPushTemplateWithName retrieves all pinpoint.PushTemplate items from an AWS CloudFormation template +// GetRDSOptionGroupWithName retrieves all rds.OptionGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointPushTemplateWithName(name string) (*pinpoint.PushTemplate, error) { +func (t *Template) GetRDSOptionGroupWithName(name string) (*rds.OptionGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.PushTemplate: + case *rds.OptionGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.PushTemplate not found", name) + return nil, fmt.Errorf("resource %q of type rds.OptionGroup not found", name) } -// GetAllPinpointSMSChannelResources retrieves all pinpoint.SMSChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointSMSChannelResources() map[string]*pinpoint.SMSChannel { - results := map[string]*pinpoint.SMSChannel{} +// GetAllRedshiftClusterResources retrieves all redshift.Cluster items from an AWS CloudFormation template +func (t *Template) GetAllRedshiftClusterResources() map[string]*redshift.Cluster { + results := map[string]*redshift.Cluster{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.SMSChannel: + case *redshift.Cluster: results[name] = resource } } return results } -// GetPinpointSMSChannelWithName retrieves all pinpoint.SMSChannel items from an AWS CloudFormation template +// GetRedshiftClusterWithName retrieves all redshift.Cluster items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointSMSChannelWithName(name string) (*pinpoint.SMSChannel, error) { +func (t *Template) GetRedshiftClusterWithName(name string) (*redshift.Cluster, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.SMSChannel: + case *redshift.Cluster: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.SMSChannel not found", name) + return nil, fmt.Errorf("resource %q of type redshift.Cluster not found", name) } -// GetAllPinpointSegmentResources retrieves all pinpoint.Segment items from an AWS CloudFormation template -func (t *Template) GetAllPinpointSegmentResources() map[string]*pinpoint.Segment { - results := map[string]*pinpoint.Segment{} +// GetAllRedshiftClusterParameterGroupResources retrieves all redshift.ClusterParameterGroup items from an AWS CloudFormation template +func (t *Template) GetAllRedshiftClusterParameterGroupResources() map[string]*redshift.ClusterParameterGroup { + results := map[string]*redshift.ClusterParameterGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.Segment: + case *redshift.ClusterParameterGroup: results[name] = resource } } return results } -// GetPinpointSegmentWithName retrieves all pinpoint.Segment items from an AWS CloudFormation template +// GetRedshiftClusterParameterGroupWithName retrieves all redshift.ClusterParameterGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointSegmentWithName(name string) (*pinpoint.Segment, error) { +func (t *Template) GetRedshiftClusterParameterGroupWithName(name string) (*redshift.ClusterParameterGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.Segment: + case *redshift.ClusterParameterGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.Segment not found", name) + return nil, fmt.Errorf("resource %q of type redshift.ClusterParameterGroup not found", name) } -// GetAllPinpointSmsTemplateResources retrieves all pinpoint.SmsTemplate items from an AWS CloudFormation template -func (t *Template) GetAllPinpointSmsTemplateResources() map[string]*pinpoint.SmsTemplate { - results := map[string]*pinpoint.SmsTemplate{} +// GetAllRedshiftClusterSecurityGroupResources retrieves all redshift.ClusterSecurityGroup items from an AWS CloudFormation template +func (t *Template) GetAllRedshiftClusterSecurityGroupResources() map[string]*redshift.ClusterSecurityGroup { + results := map[string]*redshift.ClusterSecurityGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.SmsTemplate: + case *redshift.ClusterSecurityGroup: results[name] = resource } } return results } -// GetPinpointSmsTemplateWithName retrieves all pinpoint.SmsTemplate items from an AWS CloudFormation template +// GetRedshiftClusterSecurityGroupWithName retrieves all redshift.ClusterSecurityGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointSmsTemplateWithName(name string) (*pinpoint.SmsTemplate, error) { +func (t *Template) GetRedshiftClusterSecurityGroupWithName(name string) (*redshift.ClusterSecurityGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.SmsTemplate: + case *redshift.ClusterSecurityGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.SmsTemplate not found", name) + return nil, fmt.Errorf("resource %q of type redshift.ClusterSecurityGroup not found", name) } -// GetAllPinpointVoiceChannelResources retrieves all pinpoint.VoiceChannel items from an AWS CloudFormation template -func (t *Template) GetAllPinpointVoiceChannelResources() map[string]*pinpoint.VoiceChannel { - results := map[string]*pinpoint.VoiceChannel{} +// GetAllRedshiftClusterSecurityGroupIngressResources retrieves all redshift.ClusterSecurityGroupIngress items from an AWS CloudFormation template +func (t *Template) GetAllRedshiftClusterSecurityGroupIngressResources() map[string]*redshift.ClusterSecurityGroupIngress { + results := map[string]*redshift.ClusterSecurityGroupIngress{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpoint.VoiceChannel: + case *redshift.ClusterSecurityGroupIngress: results[name] = resource } } return results } -// GetPinpointVoiceChannelWithName retrieves all pinpoint.VoiceChannel items from an AWS CloudFormation template +// GetRedshiftClusterSecurityGroupIngressWithName retrieves all redshift.ClusterSecurityGroupIngress items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointVoiceChannelWithName(name string) (*pinpoint.VoiceChannel, error) { +func (t *Template) GetRedshiftClusterSecurityGroupIngressWithName(name string) (*redshift.ClusterSecurityGroupIngress, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpoint.VoiceChannel: + case *redshift.ClusterSecurityGroupIngress: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpoint.VoiceChannel not found", name) + return nil, fmt.Errorf("resource %q of type redshift.ClusterSecurityGroupIngress not found", name) } -// GetAllPinpointEmailConfigurationSetResources retrieves all pinpointemail.ConfigurationSet items from an AWS CloudFormation template -func (t *Template) GetAllPinpointEmailConfigurationSetResources() map[string]*pinpointemail.ConfigurationSet { - results := map[string]*pinpointemail.ConfigurationSet{} +// GetAllRedshiftClusterSubnetGroupResources retrieves all redshift.ClusterSubnetGroup items from an AWS CloudFormation template +func (t *Template) GetAllRedshiftClusterSubnetGroupResources() map[string]*redshift.ClusterSubnetGroup { + results := map[string]*redshift.ClusterSubnetGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpointemail.ConfigurationSet: + case *redshift.ClusterSubnetGroup: results[name] = resource } } return results } -// GetPinpointEmailConfigurationSetWithName retrieves all pinpointemail.ConfigurationSet items from an AWS CloudFormation template +// GetRedshiftClusterSubnetGroupWithName retrieves all redshift.ClusterSubnetGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointEmailConfigurationSetWithName(name string) (*pinpointemail.ConfigurationSet, error) { +func (t *Template) GetRedshiftClusterSubnetGroupWithName(name string) (*redshift.ClusterSubnetGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpointemail.ConfigurationSet: + case *redshift.ClusterSubnetGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpointemail.ConfigurationSet not found", name) + return nil, fmt.Errorf("resource %q of type redshift.ClusterSubnetGroup not found", name) } -// GetAllPinpointEmailConfigurationSetEventDestinationResources retrieves all pinpointemail.ConfigurationSetEventDestination items from an AWS CloudFormation template -func (t *Template) GetAllPinpointEmailConfigurationSetEventDestinationResources() map[string]*pinpointemail.ConfigurationSetEventDestination { - results := map[string]*pinpointemail.ConfigurationSetEventDestination{} +// 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 *pinpointemail.ConfigurationSetEventDestination: + case *resourcegroups.Group: results[name] = resource } } return results } -// GetPinpointEmailConfigurationSetEventDestinationWithName retrieves all pinpointemail.ConfigurationSetEventDestination items from an AWS CloudFormation template +// 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) GetPinpointEmailConfigurationSetEventDestinationWithName(name string) (*pinpointemail.ConfigurationSetEventDestination, error) { +func (t *Template) GetResourceGroupsGroupWithName(name string) (*resourcegroups.Group, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpointemail.ConfigurationSetEventDestination: + case *resourcegroups.Group: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpointemail.ConfigurationSetEventDestination not found", name) + return nil, fmt.Errorf("resource %q of type resourcegroups.Group not found", name) } -// GetAllPinpointEmailDedicatedIpPoolResources retrieves all pinpointemail.DedicatedIpPool items from an AWS CloudFormation template -func (t *Template) GetAllPinpointEmailDedicatedIpPoolResources() map[string]*pinpointemail.DedicatedIpPool { - results := map[string]*pinpointemail.DedicatedIpPool{} +// GetAllRoboMakerFleetResources retrieves all robomaker.Fleet items from an AWS CloudFormation template +func (t *Template) GetAllRoboMakerFleetResources() map[string]*robomaker.Fleet { + results := map[string]*robomaker.Fleet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpointemail.DedicatedIpPool: + case *robomaker.Fleet: results[name] = resource } } return results } -// GetPinpointEmailDedicatedIpPoolWithName retrieves all pinpointemail.DedicatedIpPool items from an AWS CloudFormation template +// GetRoboMakerFleetWithName retrieves all robomaker.Fleet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointEmailDedicatedIpPoolWithName(name string) (*pinpointemail.DedicatedIpPool, error) { +func (t *Template) GetRoboMakerFleetWithName(name string) (*robomaker.Fleet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpointemail.DedicatedIpPool: + case *robomaker.Fleet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpointemail.DedicatedIpPool not found", name) + return nil, fmt.Errorf("resource %q of type robomaker.Fleet not found", name) } -// GetAllPinpointEmailIdentityResources retrieves all pinpointemail.Identity items from an AWS CloudFormation template -func (t *Template) GetAllPinpointEmailIdentityResources() map[string]*pinpointemail.Identity { - results := map[string]*pinpointemail.Identity{} +// GetAllRoboMakerRobotResources retrieves all robomaker.Robot items from an AWS CloudFormation template +func (t *Template) GetAllRoboMakerRobotResources() map[string]*robomaker.Robot { + results := map[string]*robomaker.Robot{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *pinpointemail.Identity: + case *robomaker.Robot: results[name] = resource } } return results } -// GetPinpointEmailIdentityWithName retrieves all pinpointemail.Identity items from an AWS CloudFormation template +// GetRoboMakerRobotWithName retrieves all robomaker.Robot items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetPinpointEmailIdentityWithName(name string) (*pinpointemail.Identity, error) { +func (t *Template) GetRoboMakerRobotWithName(name string) (*robomaker.Robot, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *pinpointemail.Identity: + case *robomaker.Robot: return resource, nil } } - return nil, fmt.Errorf("resource %q of type pinpointemail.Identity not found", name) + return nil, fmt.Errorf("resource %q of type robomaker.Robot not found", name) } -// GetAllQLDBLedgerResources retrieves all qldb.Ledger items from an AWS CloudFormation template -func (t *Template) GetAllQLDBLedgerResources() map[string]*qldb.Ledger { - results := map[string]*qldb.Ledger{} +// GetAllRoboMakerRobotApplicationResources retrieves all robomaker.RobotApplication items from an AWS CloudFormation template +func (t *Template) GetAllRoboMakerRobotApplicationResources() map[string]*robomaker.RobotApplication { + results := map[string]*robomaker.RobotApplication{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *qldb.Ledger: + case *robomaker.RobotApplication: results[name] = resource } } return results } -// GetQLDBLedgerWithName retrieves all qldb.Ledger items from an AWS CloudFormation template +// GetRoboMakerRobotApplicationWithName retrieves all robomaker.RobotApplication items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetQLDBLedgerWithName(name string) (*qldb.Ledger, error) { +func (t *Template) GetRoboMakerRobotApplicationWithName(name string) (*robomaker.RobotApplication, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *qldb.Ledger: + case *robomaker.RobotApplication: return resource, nil } } - return nil, fmt.Errorf("resource %q of type qldb.Ledger not found", name) + return nil, fmt.Errorf("resource %q of type robomaker.RobotApplication not found", name) } -// GetAllQLDBStreamResources retrieves all qldb.Stream items from an AWS CloudFormation template -func (t *Template) GetAllQLDBStreamResources() map[string]*qldb.Stream { - results := map[string]*qldb.Stream{} +// GetAllRoboMakerRobotApplicationVersionResources retrieves all robomaker.RobotApplicationVersion items from an AWS CloudFormation template +func (t *Template) GetAllRoboMakerRobotApplicationVersionResources() map[string]*robomaker.RobotApplicationVersion { + results := map[string]*robomaker.RobotApplicationVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *qldb.Stream: + case *robomaker.RobotApplicationVersion: results[name] = resource } } return results } -// GetQLDBStreamWithName retrieves all qldb.Stream items from an AWS CloudFormation template +// GetRoboMakerRobotApplicationVersionWithName retrieves all robomaker.RobotApplicationVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetQLDBStreamWithName(name string) (*qldb.Stream, error) { +func (t *Template) GetRoboMakerRobotApplicationVersionWithName(name string) (*robomaker.RobotApplicationVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *qldb.Stream: + case *robomaker.RobotApplicationVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type qldb.Stream not found", name) + return nil, fmt.Errorf("resource %q of type robomaker.RobotApplicationVersion not found", name) } -// GetAllRAMResourceShareResources retrieves all ram.ResourceShare items from an AWS CloudFormation template -func (t *Template) GetAllRAMResourceShareResources() map[string]*ram.ResourceShare { - results := map[string]*ram.ResourceShare{} +// GetAllRoboMakerSimulationApplicationResources retrieves all robomaker.SimulationApplication items from an AWS CloudFormation template +func (t *Template) GetAllRoboMakerSimulationApplicationResources() map[string]*robomaker.SimulationApplication { + results := map[string]*robomaker.SimulationApplication{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ram.ResourceShare: + case *robomaker.SimulationApplication: results[name] = resource } } return results } -// GetRAMResourceShareWithName retrieves all ram.ResourceShare items from an AWS CloudFormation template +// GetRoboMakerSimulationApplicationWithName retrieves all robomaker.SimulationApplication items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRAMResourceShareWithName(name string) (*ram.ResourceShare, error) { +func (t *Template) GetRoboMakerSimulationApplicationWithName(name string) (*robomaker.SimulationApplication, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ram.ResourceShare: + case *robomaker.SimulationApplication: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ram.ResourceShare not found", name) + return nil, fmt.Errorf("resource %q of type robomaker.SimulationApplication not found", name) } -// GetAllRDSDBClusterResources retrieves all rds.DBCluster items from an AWS CloudFormation template -func (t *Template) GetAllRDSDBClusterResources() map[string]*rds.DBCluster { - results := map[string]*rds.DBCluster{} +// GetAllRoboMakerSimulationApplicationVersionResources retrieves all robomaker.SimulationApplicationVersion items from an AWS CloudFormation template +func (t *Template) GetAllRoboMakerSimulationApplicationVersionResources() map[string]*robomaker.SimulationApplicationVersion { + results := map[string]*robomaker.SimulationApplicationVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBCluster: + case *robomaker.SimulationApplicationVersion: results[name] = resource } } return results } -// GetRDSDBClusterWithName retrieves all rds.DBCluster items from an AWS CloudFormation template +// GetRoboMakerSimulationApplicationVersionWithName retrieves all robomaker.SimulationApplicationVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSDBClusterWithName(name string) (*rds.DBCluster, error) { +func (t *Template) GetRoboMakerSimulationApplicationVersionWithName(name string) (*robomaker.SimulationApplicationVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBCluster: + case *robomaker.SimulationApplicationVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBCluster not found", name) + return nil, fmt.Errorf("resource %q of type robomaker.SimulationApplicationVersion not found", name) } -// GetAllRDSDBClusterParameterGroupResources retrieves all rds.DBClusterParameterGroup items from an AWS CloudFormation template -func (t *Template) GetAllRDSDBClusterParameterGroupResources() map[string]*rds.DBClusterParameterGroup { - results := map[string]*rds.DBClusterParameterGroup{} +// GetAllRoute53DNSSECResources retrieves all route53.DNSSEC items from an AWS CloudFormation template +func (t *Template) GetAllRoute53DNSSECResources() map[string]*route53.DNSSEC { + results := map[string]*route53.DNSSEC{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBClusterParameterGroup: + case *route53.DNSSEC: results[name] = resource } } return results } -// GetRDSDBClusterParameterGroupWithName retrieves all rds.DBClusterParameterGroup items from an AWS CloudFormation template +// GetRoute53DNSSECWithName retrieves all route53.DNSSEC items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSDBClusterParameterGroupWithName(name string) (*rds.DBClusterParameterGroup, error) { +func (t *Template) GetRoute53DNSSECWithName(name string) (*route53.DNSSEC, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBClusterParameterGroup: + case *route53.DNSSEC: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBClusterParameterGroup not found", name) + return nil, fmt.Errorf("resource %q of type route53.DNSSEC not found", name) } -// GetAllRDSDBInstanceResources retrieves all rds.DBInstance items from an AWS CloudFormation template -func (t *Template) GetAllRDSDBInstanceResources() map[string]*rds.DBInstance { - results := map[string]*rds.DBInstance{} +// GetAllRoute53HealthCheckResources retrieves all route53.HealthCheck items from an AWS CloudFormation template +func (t *Template) GetAllRoute53HealthCheckResources() map[string]*route53.HealthCheck { + results := map[string]*route53.HealthCheck{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBInstance: + case *route53.HealthCheck: results[name] = resource } } return results } -// GetRDSDBInstanceWithName retrieves all rds.DBInstance items from an AWS CloudFormation template +// GetRoute53HealthCheckWithName retrieves all route53.HealthCheck items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSDBInstanceWithName(name string) (*rds.DBInstance, error) { +func (t *Template) GetRoute53HealthCheckWithName(name string) (*route53.HealthCheck, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBInstance: + case *route53.HealthCheck: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBInstance not found", name) + return nil, fmt.Errorf("resource %q of type route53.HealthCheck not found", name) } -// GetAllRDSDBParameterGroupResources retrieves all rds.DBParameterGroup items from an AWS CloudFormation template -func (t *Template) GetAllRDSDBParameterGroupResources() map[string]*rds.DBParameterGroup { - results := map[string]*rds.DBParameterGroup{} +// GetAllRoute53HostedZoneResources retrieves all route53.HostedZone items from an AWS CloudFormation template +func (t *Template) GetAllRoute53HostedZoneResources() map[string]*route53.HostedZone { + results := map[string]*route53.HostedZone{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBParameterGroup: + case *route53.HostedZone: results[name] = resource } } return results } -// GetRDSDBParameterGroupWithName retrieves all rds.DBParameterGroup items from an AWS CloudFormation template +// GetRoute53HostedZoneWithName retrieves all route53.HostedZone items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSDBParameterGroupWithName(name string) (*rds.DBParameterGroup, error) { +func (t *Template) GetRoute53HostedZoneWithName(name string) (*route53.HostedZone, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBParameterGroup: + case *route53.HostedZone: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBParameterGroup not found", name) + return nil, fmt.Errorf("resource %q of type route53.HostedZone 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{} +// GetAllRoute53KeySigningKeyResources retrieves all route53.KeySigningKey items from an AWS CloudFormation template +func (t *Template) GetAllRoute53KeySigningKeyResources() map[string]*route53.KeySigningKey { + results := map[string]*route53.KeySigningKey{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBProxy: + case *route53.KeySigningKey: results[name] = resource } } return results } -// GetRDSDBProxyWithName retrieves all rds.DBProxy items from an AWS CloudFormation template +// GetRoute53KeySigningKeyWithName retrieves all route53.KeySigningKey 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) { +func (t *Template) GetRoute53KeySigningKeyWithName(name string) (*route53.KeySigningKey, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBProxy: + case *route53.KeySigningKey: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBProxy not found", name) + return nil, fmt.Errorf("resource %q of type route53.KeySigningKey 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{} +// GetAllRoute53RecordSetResources retrieves all route53.RecordSet items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecordSetResources() map[string]*route53.RecordSet { + results := map[string]*route53.RecordSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBProxyTargetGroup: + case *route53.RecordSet: results[name] = resource } } return results } -// GetRDSDBProxyTargetGroupWithName retrieves all rds.DBProxyTargetGroup items from an AWS CloudFormation template +// GetRoute53RecordSetWithName retrieves all route53.RecordSet 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) { +func (t *Template) GetRoute53RecordSetWithName(name string) (*route53.RecordSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBProxyTargetGroup: + case *route53.RecordSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBProxyTargetGroup not found", name) + return nil, fmt.Errorf("resource %q of type route53.RecordSet 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{} +// GetAllRoute53RecordSetGroupResources retrieves all route53.RecordSetGroup items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecordSetGroupResources() map[string]*route53.RecordSetGroup { + results := map[string]*route53.RecordSetGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBSecurityGroup: + case *route53.RecordSetGroup: results[name] = resource } } return results } -// GetRDSDBSecurityGroupWithName retrieves all rds.DBSecurityGroup items from an AWS CloudFormation template +// GetRoute53RecordSetGroupWithName retrieves all route53.RecordSetGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSDBSecurityGroupWithName(name string) (*rds.DBSecurityGroup, error) { +func (t *Template) GetRoute53RecordSetGroupWithName(name string) (*route53.RecordSetGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBSecurityGroup: + case *route53.RecordSetGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBSecurityGroup not found", name) + return nil, fmt.Errorf("resource %q of type route53.RecordSetGroup not found", name) } -// GetAllRDSDBSecurityGroupIngressResources retrieves all rds.DBSecurityGroupIngress items from an AWS CloudFormation template -func (t *Template) GetAllRDSDBSecurityGroupIngressResources() map[string]*rds.DBSecurityGroupIngress { - results := map[string]*rds.DBSecurityGroupIngress{} +// GetAllRoute53ResolverResolverDNSSECConfigResources retrieves all route53resolver.ResolverDNSSECConfig items from an AWS CloudFormation template +func (t *Template) GetAllRoute53ResolverResolverDNSSECConfigResources() map[string]*route53resolver.ResolverDNSSECConfig { + results := map[string]*route53resolver.ResolverDNSSECConfig{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBSecurityGroupIngress: + case *route53resolver.ResolverDNSSECConfig: results[name] = resource } } return results } -// GetRDSDBSecurityGroupIngressWithName retrieves all rds.DBSecurityGroupIngress items from an AWS CloudFormation template +// GetRoute53ResolverResolverDNSSECConfigWithName retrieves all route53resolver.ResolverDNSSECConfig items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSDBSecurityGroupIngressWithName(name string) (*rds.DBSecurityGroupIngress, error) { +func (t *Template) GetRoute53ResolverResolverDNSSECConfigWithName(name string) (*route53resolver.ResolverDNSSECConfig, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBSecurityGroupIngress: + case *route53resolver.ResolverDNSSECConfig: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBSecurityGroupIngress not found", name) + return nil, fmt.Errorf("resource %q of type route53resolver.ResolverDNSSECConfig not found", name) } -// GetAllRDSDBSubnetGroupResources retrieves all rds.DBSubnetGroup items from an AWS CloudFormation template -func (t *Template) GetAllRDSDBSubnetGroupResources() map[string]*rds.DBSubnetGroup { - results := map[string]*rds.DBSubnetGroup{} +// GetAllRoute53ResolverResolverEndpointResources retrieves all route53resolver.ResolverEndpoint items from an AWS CloudFormation template +func (t *Template) GetAllRoute53ResolverResolverEndpointResources() map[string]*route53resolver.ResolverEndpoint { + results := map[string]*route53resolver.ResolverEndpoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.DBSubnetGroup: + case *route53resolver.ResolverEndpoint: results[name] = resource } } return results } -// GetRDSDBSubnetGroupWithName retrieves all rds.DBSubnetGroup items from an AWS CloudFormation template +// GetRoute53ResolverResolverEndpointWithName retrieves all route53resolver.ResolverEndpoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSDBSubnetGroupWithName(name string) (*rds.DBSubnetGroup, error) { +func (t *Template) GetRoute53ResolverResolverEndpointWithName(name string) (*route53resolver.ResolverEndpoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.DBSubnetGroup: + case *route53resolver.ResolverEndpoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.DBSubnetGroup not found", name) + return nil, fmt.Errorf("resource %q of type route53resolver.ResolverEndpoint not found", name) } -// GetAllRDSEventSubscriptionResources retrieves all rds.EventSubscription items from an AWS CloudFormation template -func (t *Template) GetAllRDSEventSubscriptionResources() map[string]*rds.EventSubscription { - results := map[string]*rds.EventSubscription{} +// GetAllRoute53ResolverResolverQueryLoggingConfigResources retrieves all route53resolver.ResolverQueryLoggingConfig items from an AWS CloudFormation template +func (t *Template) GetAllRoute53ResolverResolverQueryLoggingConfigResources() map[string]*route53resolver.ResolverQueryLoggingConfig { + results := map[string]*route53resolver.ResolverQueryLoggingConfig{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.EventSubscription: + case *route53resolver.ResolverQueryLoggingConfig: results[name] = resource } } return results } -// GetRDSEventSubscriptionWithName retrieves all rds.EventSubscription items from an AWS CloudFormation template +// GetRoute53ResolverResolverQueryLoggingConfigWithName retrieves all route53resolver.ResolverQueryLoggingConfig items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSEventSubscriptionWithName(name string) (*rds.EventSubscription, error) { +func (t *Template) GetRoute53ResolverResolverQueryLoggingConfigWithName(name string) (*route53resolver.ResolverQueryLoggingConfig, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.EventSubscription: + case *route53resolver.ResolverQueryLoggingConfig: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.EventSubscription not found", name) + return nil, fmt.Errorf("resource %q of type route53resolver.ResolverQueryLoggingConfig not found", name) } -// GetAllRDSOptionGroupResources retrieves all rds.OptionGroup items from an AWS CloudFormation template -func (t *Template) GetAllRDSOptionGroupResources() map[string]*rds.OptionGroup { - results := map[string]*rds.OptionGroup{} +// GetAllRoute53ResolverResolverQueryLoggingConfigAssociationResources retrieves all route53resolver.ResolverQueryLoggingConfigAssociation items from an AWS CloudFormation template +func (t *Template) GetAllRoute53ResolverResolverQueryLoggingConfigAssociationResources() map[string]*route53resolver.ResolverQueryLoggingConfigAssociation { + results := map[string]*route53resolver.ResolverQueryLoggingConfigAssociation{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *rds.OptionGroup: + case *route53resolver.ResolverQueryLoggingConfigAssociation: results[name] = resource } } return results } -// GetRDSOptionGroupWithName retrieves all rds.OptionGroup items from an AWS CloudFormation template +// GetRoute53ResolverResolverQueryLoggingConfigAssociationWithName retrieves all route53resolver.ResolverQueryLoggingConfigAssociation items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRDSOptionGroupWithName(name string) (*rds.OptionGroup, error) { +func (t *Template) GetRoute53ResolverResolverQueryLoggingConfigAssociationWithName(name string) (*route53resolver.ResolverQueryLoggingConfigAssociation, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *rds.OptionGroup: + case *route53resolver.ResolverQueryLoggingConfigAssociation: return resource, nil } } - return nil, fmt.Errorf("resource %q of type rds.OptionGroup not found", name) + return nil, fmt.Errorf("resource %q of type route53resolver.ResolverQueryLoggingConfigAssociation not found", name) } -// GetAllRedshiftClusterResources retrieves all redshift.Cluster items from an AWS CloudFormation template -func (t *Template) GetAllRedshiftClusterResources() map[string]*redshift.Cluster { - results := map[string]*redshift.Cluster{} +// GetAllRoute53ResolverResolverRuleResources retrieves all route53resolver.ResolverRule items from an AWS CloudFormation template +func (t *Template) GetAllRoute53ResolverResolverRuleResources() map[string]*route53resolver.ResolverRule { + results := map[string]*route53resolver.ResolverRule{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *redshift.Cluster: + case *route53resolver.ResolverRule: results[name] = resource } } return results } -// GetRedshiftClusterWithName retrieves all redshift.Cluster items from an AWS CloudFormation template +// GetRoute53ResolverResolverRuleWithName retrieves all route53resolver.ResolverRule items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRedshiftClusterWithName(name string) (*redshift.Cluster, error) { +func (t *Template) GetRoute53ResolverResolverRuleWithName(name string) (*route53resolver.ResolverRule, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *redshift.Cluster: + case *route53resolver.ResolverRule: return resource, nil } } - return nil, fmt.Errorf("resource %q of type redshift.Cluster not found", name) + return nil, fmt.Errorf("resource %q of type route53resolver.ResolverRule not found", name) } -// GetAllRedshiftClusterParameterGroupResources retrieves all redshift.ClusterParameterGroup items from an AWS CloudFormation template -func (t *Template) GetAllRedshiftClusterParameterGroupResources() map[string]*redshift.ClusterParameterGroup { - results := map[string]*redshift.ClusterParameterGroup{} +// GetAllRoute53ResolverResolverRuleAssociationResources retrieves all route53resolver.ResolverRuleAssociation items from an AWS CloudFormation template +func (t *Template) GetAllRoute53ResolverResolverRuleAssociationResources() map[string]*route53resolver.ResolverRuleAssociation { + results := map[string]*route53resolver.ResolverRuleAssociation{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *redshift.ClusterParameterGroup: + case *route53resolver.ResolverRuleAssociation: results[name] = resource } } return results } -// GetRedshiftClusterParameterGroupWithName retrieves all redshift.ClusterParameterGroup items from an AWS CloudFormation template +// GetRoute53ResolverResolverRuleAssociationWithName retrieves all route53resolver.ResolverRuleAssociation items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRedshiftClusterParameterGroupWithName(name string) (*redshift.ClusterParameterGroup, error) { +func (t *Template) GetRoute53ResolverResolverRuleAssociationWithName(name string) (*route53resolver.ResolverRuleAssociation, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *redshift.ClusterParameterGroup: + case *route53resolver.ResolverRuleAssociation: return resource, nil } } - return nil, fmt.Errorf("resource %q of type redshift.ClusterParameterGroup not found", name) + return nil, fmt.Errorf("resource %q of type route53resolver.ResolverRuleAssociation not found", name) } -// GetAllRedshiftClusterSecurityGroupResources retrieves all redshift.ClusterSecurityGroup items from an AWS CloudFormation template -func (t *Template) GetAllRedshiftClusterSecurityGroupResources() map[string]*redshift.ClusterSecurityGroup { - results := map[string]*redshift.ClusterSecurityGroup{} +// GetAllS3AccessPointResources retrieves all s3.AccessPoint items from an AWS CloudFormation template +func (t *Template) GetAllS3AccessPointResources() map[string]*s3.AccessPoint { + results := map[string]*s3.AccessPoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *redshift.ClusterSecurityGroup: + case *s3.AccessPoint: results[name] = resource } } return results } -// GetRedshiftClusterSecurityGroupWithName retrieves all redshift.ClusterSecurityGroup items from an AWS CloudFormation template +// GetS3AccessPointWithName retrieves all s3.AccessPoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRedshiftClusterSecurityGroupWithName(name string) (*redshift.ClusterSecurityGroup, error) { +func (t *Template) GetS3AccessPointWithName(name string) (*s3.AccessPoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *redshift.ClusterSecurityGroup: + case *s3.AccessPoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type redshift.ClusterSecurityGroup not found", name) + return nil, fmt.Errorf("resource %q of type s3.AccessPoint not found", name) } -// GetAllRedshiftClusterSecurityGroupIngressResources retrieves all redshift.ClusterSecurityGroupIngress items from an AWS CloudFormation template -func (t *Template) GetAllRedshiftClusterSecurityGroupIngressResources() map[string]*redshift.ClusterSecurityGroupIngress { - results := map[string]*redshift.ClusterSecurityGroupIngress{} +// GetAllS3BucketResources retrieves all s3.Bucket items from an AWS CloudFormation template +func (t *Template) GetAllS3BucketResources() map[string]*s3.Bucket { + results := map[string]*s3.Bucket{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *redshift.ClusterSecurityGroupIngress: + case *s3.Bucket: results[name] = resource } } return results } -// GetRedshiftClusterSecurityGroupIngressWithName retrieves all redshift.ClusterSecurityGroupIngress items from an AWS CloudFormation template +// GetS3BucketWithName retrieves all s3.Bucket items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRedshiftClusterSecurityGroupIngressWithName(name string) (*redshift.ClusterSecurityGroupIngress, error) { +func (t *Template) GetS3BucketWithName(name string) (*s3.Bucket, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *redshift.ClusterSecurityGroupIngress: + case *s3.Bucket: return resource, nil } } - return nil, fmt.Errorf("resource %q of type redshift.ClusterSecurityGroupIngress not found", name) + return nil, fmt.Errorf("resource %q of type s3.Bucket not found", name) } -// GetAllRedshiftClusterSubnetGroupResources retrieves all redshift.ClusterSubnetGroup items from an AWS CloudFormation template -func (t *Template) GetAllRedshiftClusterSubnetGroupResources() map[string]*redshift.ClusterSubnetGroup { - results := map[string]*redshift.ClusterSubnetGroup{} +// GetAllS3BucketPolicyResources retrieves all s3.BucketPolicy items from an AWS CloudFormation template +func (t *Template) GetAllS3BucketPolicyResources() map[string]*s3.BucketPolicy { + results := map[string]*s3.BucketPolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *redshift.ClusterSubnetGroup: + case *s3.BucketPolicy: results[name] = resource } } return results } -// GetRedshiftClusterSubnetGroupWithName retrieves all redshift.ClusterSubnetGroup items from an AWS CloudFormation template +// GetS3BucketPolicyWithName retrieves all s3.BucketPolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRedshiftClusterSubnetGroupWithName(name string) (*redshift.ClusterSubnetGroup, error) { +func (t *Template) GetS3BucketPolicyWithName(name string) (*s3.BucketPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *redshift.ClusterSubnetGroup: + case *s3.BucketPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type redshift.ClusterSubnetGroup not found", name) + return nil, fmt.Errorf("resource %q of type s3.BucketPolicy 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{} +// GetAllS3StorageLensResources retrieves all s3.StorageLens items from an AWS CloudFormation template +func (t *Template) GetAllS3StorageLensResources() map[string]*s3.StorageLens { + results := map[string]*s3.StorageLens{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *resourcegroups.Group: + case *s3.StorageLens: results[name] = resource } } return results } -// GetResourceGroupsGroupWithName retrieves all resourcegroups.Group items from an AWS CloudFormation template +// GetS3StorageLensWithName retrieves all s3.StorageLens 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) { +func (t *Template) GetS3StorageLensWithName(name string) (*s3.StorageLens, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *resourcegroups.Group: + case *s3.StorageLens: return resource, nil } } - return nil, fmt.Errorf("resource %q of type resourcegroups.Group not found", name) + return nil, fmt.Errorf("resource %q of type s3.StorageLens 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{} +// GetAllS3OutpostsAccessPointResources retrieves all s3outposts.AccessPoint items from an AWS CloudFormation template +func (t *Template) GetAllS3OutpostsAccessPointResources() map[string]*s3outposts.AccessPoint { + results := map[string]*s3outposts.AccessPoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *robomaker.Fleet: + case *s3outposts.AccessPoint: results[name] = resource } } return results } -// GetRoboMakerFleetWithName retrieves all robomaker.Fleet items from an AWS CloudFormation template +// GetS3OutpostsAccessPointWithName retrieves all s3outposts.AccessPoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoboMakerFleetWithName(name string) (*robomaker.Fleet, error) { +func (t *Template) GetS3OutpostsAccessPointWithName(name string) (*s3outposts.AccessPoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *robomaker.Fleet: + case *s3outposts.AccessPoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type robomaker.Fleet not found", name) + return nil, fmt.Errorf("resource %q of type s3outposts.AccessPoint not found", name) } -// GetAllRoboMakerRobotResources retrieves all robomaker.Robot items from an AWS CloudFormation template -func (t *Template) GetAllRoboMakerRobotResources() map[string]*robomaker.Robot { - results := map[string]*robomaker.Robot{} +// GetAllS3OutpostsBucketResources retrieves all s3outposts.Bucket items from an AWS CloudFormation template +func (t *Template) GetAllS3OutpostsBucketResources() map[string]*s3outposts.Bucket { + results := map[string]*s3outposts.Bucket{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *robomaker.Robot: + case *s3outposts.Bucket: results[name] = resource } } return results } -// GetRoboMakerRobotWithName retrieves all robomaker.Robot items from an AWS CloudFormation template +// GetS3OutpostsBucketWithName retrieves all s3outposts.Bucket items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoboMakerRobotWithName(name string) (*robomaker.Robot, error) { +func (t *Template) GetS3OutpostsBucketWithName(name string) (*s3outposts.Bucket, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *robomaker.Robot: + case *s3outposts.Bucket: return resource, nil } } - return nil, fmt.Errorf("resource %q of type robomaker.Robot not found", name) + return nil, fmt.Errorf("resource %q of type s3outposts.Bucket not found", name) } -// GetAllRoboMakerRobotApplicationResources retrieves all robomaker.RobotApplication items from an AWS CloudFormation template -func (t *Template) GetAllRoboMakerRobotApplicationResources() map[string]*robomaker.RobotApplication { - results := map[string]*robomaker.RobotApplication{} +// GetAllS3OutpostsBucketPolicyResources retrieves all s3outposts.BucketPolicy items from an AWS CloudFormation template +func (t *Template) GetAllS3OutpostsBucketPolicyResources() map[string]*s3outposts.BucketPolicy { + results := map[string]*s3outposts.BucketPolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *robomaker.RobotApplication: + case *s3outposts.BucketPolicy: results[name] = resource } } return results } -// GetRoboMakerRobotApplicationWithName retrieves all robomaker.RobotApplication items from an AWS CloudFormation template +// GetS3OutpostsBucketPolicyWithName retrieves all s3outposts.BucketPolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoboMakerRobotApplicationWithName(name string) (*robomaker.RobotApplication, error) { +func (t *Template) GetS3OutpostsBucketPolicyWithName(name string) (*s3outposts.BucketPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *robomaker.RobotApplication: + case *s3outposts.BucketPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type robomaker.RobotApplication not found", name) + return nil, fmt.Errorf("resource %q of type s3outposts.BucketPolicy not found", name) } -// GetAllRoboMakerRobotApplicationVersionResources retrieves all robomaker.RobotApplicationVersion items from an AWS CloudFormation template -func (t *Template) GetAllRoboMakerRobotApplicationVersionResources() map[string]*robomaker.RobotApplicationVersion { - results := map[string]*robomaker.RobotApplicationVersion{} +// GetAllS3OutpostsEndpointResources retrieves all s3outposts.Endpoint items from an AWS CloudFormation template +func (t *Template) GetAllS3OutpostsEndpointResources() map[string]*s3outposts.Endpoint { + results := map[string]*s3outposts.Endpoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *robomaker.RobotApplicationVersion: + case *s3outposts.Endpoint: results[name] = resource } } return results } -// GetRoboMakerRobotApplicationVersionWithName retrieves all robomaker.RobotApplicationVersion items from an AWS CloudFormation template +// GetS3OutpostsEndpointWithName retrieves all s3outposts.Endpoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoboMakerRobotApplicationVersionWithName(name string) (*robomaker.RobotApplicationVersion, error) { +func (t *Template) GetS3OutpostsEndpointWithName(name string) (*s3outposts.Endpoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *robomaker.RobotApplicationVersion: + case *s3outposts.Endpoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type robomaker.RobotApplicationVersion not found", name) + return nil, fmt.Errorf("resource %q of type s3outposts.Endpoint not found", name) } -// GetAllRoboMakerSimulationApplicationResources retrieves all robomaker.SimulationApplication items from an AWS CloudFormation template -func (t *Template) GetAllRoboMakerSimulationApplicationResources() map[string]*robomaker.SimulationApplication { - results := map[string]*robomaker.SimulationApplication{} +// GetAllSDBDomainResources retrieves all sdb.Domain items from an AWS CloudFormation template +func (t *Template) GetAllSDBDomainResources() map[string]*sdb.Domain { + results := map[string]*sdb.Domain{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *robomaker.SimulationApplication: + case *sdb.Domain: results[name] = resource } } return results } -// GetRoboMakerSimulationApplicationWithName retrieves all robomaker.SimulationApplication items from an AWS CloudFormation template +// GetSDBDomainWithName retrieves all sdb.Domain items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoboMakerSimulationApplicationWithName(name string) (*robomaker.SimulationApplication, error) { +func (t *Template) GetSDBDomainWithName(name string) (*sdb.Domain, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *robomaker.SimulationApplication: + case *sdb.Domain: return resource, nil } } - return nil, fmt.Errorf("resource %q of type robomaker.SimulationApplication not found", name) + return nil, fmt.Errorf("resource %q of type sdb.Domain not found", name) } -// GetAllRoboMakerSimulationApplicationVersionResources retrieves all robomaker.SimulationApplicationVersion items from an AWS CloudFormation template -func (t *Template) GetAllRoboMakerSimulationApplicationVersionResources() map[string]*robomaker.SimulationApplicationVersion { - results := map[string]*robomaker.SimulationApplicationVersion{} +// GetAllSESConfigurationSetResources retrieves all ses.ConfigurationSet items from an AWS CloudFormation template +func (t *Template) GetAllSESConfigurationSetResources() map[string]*ses.ConfigurationSet { + results := map[string]*ses.ConfigurationSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *robomaker.SimulationApplicationVersion: + case *ses.ConfigurationSet: results[name] = resource } } return results } -// GetRoboMakerSimulationApplicationVersionWithName retrieves all robomaker.SimulationApplicationVersion items from an AWS CloudFormation template +// GetSESConfigurationSetWithName retrieves all ses.ConfigurationSet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoboMakerSimulationApplicationVersionWithName(name string) (*robomaker.SimulationApplicationVersion, error) { +func (t *Template) GetSESConfigurationSetWithName(name string) (*ses.ConfigurationSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *robomaker.SimulationApplicationVersion: + case *ses.ConfigurationSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type robomaker.SimulationApplicationVersion not found", name) + return nil, fmt.Errorf("resource %q of type ses.ConfigurationSet not found", name) } -// GetAllRoute53HealthCheckResources retrieves all route53.HealthCheck items from an AWS CloudFormation template -func (t *Template) GetAllRoute53HealthCheckResources() map[string]*route53.HealthCheck { - results := map[string]*route53.HealthCheck{} +// GetAllSESConfigurationSetEventDestinationResources retrieves all ses.ConfigurationSetEventDestination items from an AWS CloudFormation template +func (t *Template) GetAllSESConfigurationSetEventDestinationResources() map[string]*ses.ConfigurationSetEventDestination { + results := map[string]*ses.ConfigurationSetEventDestination{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53.HealthCheck: + case *ses.ConfigurationSetEventDestination: results[name] = resource } } return results } -// GetRoute53HealthCheckWithName retrieves all route53.HealthCheck items from an AWS CloudFormation template +// GetSESConfigurationSetEventDestinationWithName retrieves all ses.ConfigurationSetEventDestination items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53HealthCheckWithName(name string) (*route53.HealthCheck, error) { +func (t *Template) GetSESConfigurationSetEventDestinationWithName(name string) (*ses.ConfigurationSetEventDestination, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53.HealthCheck: + case *ses.ConfigurationSetEventDestination: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53.HealthCheck not found", name) + return nil, fmt.Errorf("resource %q of type ses.ConfigurationSetEventDestination not found", name) } -// GetAllRoute53HostedZoneResources retrieves all route53.HostedZone items from an AWS CloudFormation template -func (t *Template) GetAllRoute53HostedZoneResources() map[string]*route53.HostedZone { - results := map[string]*route53.HostedZone{} +// GetAllSESReceiptFilterResources retrieves all ses.ReceiptFilter items from an AWS CloudFormation template +func (t *Template) GetAllSESReceiptFilterResources() map[string]*ses.ReceiptFilter { + results := map[string]*ses.ReceiptFilter{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53.HostedZone: + case *ses.ReceiptFilter: results[name] = resource } } return results } -// GetRoute53HostedZoneWithName retrieves all route53.HostedZone items from an AWS CloudFormation template +// GetSESReceiptFilterWithName retrieves all ses.ReceiptFilter items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53HostedZoneWithName(name string) (*route53.HostedZone, error) { +func (t *Template) GetSESReceiptFilterWithName(name string) (*ses.ReceiptFilter, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53.HostedZone: + case *ses.ReceiptFilter: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53.HostedZone not found", name) + return nil, fmt.Errorf("resource %q of type ses.ReceiptFilter not found", name) } -// GetAllRoute53RecordSetResources retrieves all route53.RecordSet items from an AWS CloudFormation template -func (t *Template) GetAllRoute53RecordSetResources() map[string]*route53.RecordSet { - results := map[string]*route53.RecordSet{} +// GetAllSESReceiptRuleResources retrieves all ses.ReceiptRule items from an AWS CloudFormation template +func (t *Template) GetAllSESReceiptRuleResources() map[string]*ses.ReceiptRule { + results := map[string]*ses.ReceiptRule{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53.RecordSet: + case *ses.ReceiptRule: results[name] = resource } } return results } -// GetRoute53RecordSetWithName retrieves all route53.RecordSet items from an AWS CloudFormation template +// GetSESReceiptRuleWithName retrieves all ses.ReceiptRule items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53RecordSetWithName(name string) (*route53.RecordSet, error) { +func (t *Template) GetSESReceiptRuleWithName(name string) (*ses.ReceiptRule, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53.RecordSet: + case *ses.ReceiptRule: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53.RecordSet not found", name) + return nil, fmt.Errorf("resource %q of type ses.ReceiptRule not found", name) } -// GetAllRoute53RecordSetGroupResources retrieves all route53.RecordSetGroup items from an AWS CloudFormation template -func (t *Template) GetAllRoute53RecordSetGroupResources() map[string]*route53.RecordSetGroup { - results := map[string]*route53.RecordSetGroup{} +// GetAllSESReceiptRuleSetResources retrieves all ses.ReceiptRuleSet items from an AWS CloudFormation template +func (t *Template) GetAllSESReceiptRuleSetResources() map[string]*ses.ReceiptRuleSet { + results := map[string]*ses.ReceiptRuleSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53.RecordSetGroup: + case *ses.ReceiptRuleSet: results[name] = resource } } return results } -// GetRoute53RecordSetGroupWithName retrieves all route53.RecordSetGroup items from an AWS CloudFormation template +// GetSESReceiptRuleSetWithName retrieves all ses.ReceiptRuleSet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53RecordSetGroupWithName(name string) (*route53.RecordSetGroup, error) { +func (t *Template) GetSESReceiptRuleSetWithName(name string) (*ses.ReceiptRuleSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53.RecordSetGroup: + case *ses.ReceiptRuleSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53.RecordSetGroup not found", name) + return nil, fmt.Errorf("resource %q of type ses.ReceiptRuleSet not found", name) } -// GetAllRoute53ResolverResolverEndpointResources retrieves all route53resolver.ResolverEndpoint items from an AWS CloudFormation template -func (t *Template) GetAllRoute53ResolverResolverEndpointResources() map[string]*route53resolver.ResolverEndpoint { - results := map[string]*route53resolver.ResolverEndpoint{} +// GetAllSESTemplateResources retrieves all ses.Template items from an AWS CloudFormation template +func (t *Template) GetAllSESTemplateResources() map[string]*ses.Template { + results := map[string]*ses.Template{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53resolver.ResolverEndpoint: + case *ses.Template: results[name] = resource } } return results } -// GetRoute53ResolverResolverEndpointWithName retrieves all route53resolver.ResolverEndpoint items from an AWS CloudFormation template +// GetSESTemplateWithName retrieves all ses.Template items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53ResolverResolverEndpointWithName(name string) (*route53resolver.ResolverEndpoint, error) { +func (t *Template) GetSESTemplateWithName(name string) (*ses.Template, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53resolver.ResolverEndpoint: + case *ses.Template: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53resolver.ResolverEndpoint not found", name) + return nil, fmt.Errorf("resource %q of type ses.Template not found", name) } -// GetAllRoute53ResolverResolverQueryLoggingConfigResources retrieves all route53resolver.ResolverQueryLoggingConfig items from an AWS CloudFormation template -func (t *Template) GetAllRoute53ResolverResolverQueryLoggingConfigResources() map[string]*route53resolver.ResolverQueryLoggingConfig { - results := map[string]*route53resolver.ResolverQueryLoggingConfig{} +// GetAllSNSSubscriptionResources retrieves all sns.Subscription items from an AWS CloudFormation template +func (t *Template) GetAllSNSSubscriptionResources() map[string]*sns.Subscription { + results := map[string]*sns.Subscription{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53resolver.ResolverQueryLoggingConfig: + case *sns.Subscription: results[name] = resource } } return results } -// GetRoute53ResolverResolverQueryLoggingConfigWithName retrieves all route53resolver.ResolverQueryLoggingConfig items from an AWS CloudFormation template +// GetSNSSubscriptionWithName retrieves all sns.Subscription items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53ResolverResolverQueryLoggingConfigWithName(name string) (*route53resolver.ResolverQueryLoggingConfig, error) { +func (t *Template) GetSNSSubscriptionWithName(name string) (*sns.Subscription, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53resolver.ResolverQueryLoggingConfig: + case *sns.Subscription: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53resolver.ResolverQueryLoggingConfig not found", name) + return nil, fmt.Errorf("resource %q of type sns.Subscription not found", name) } -// GetAllRoute53ResolverResolverQueryLoggingConfigAssociationResources retrieves all route53resolver.ResolverQueryLoggingConfigAssociation items from an AWS CloudFormation template -func (t *Template) GetAllRoute53ResolverResolverQueryLoggingConfigAssociationResources() map[string]*route53resolver.ResolverQueryLoggingConfigAssociation { - results := map[string]*route53resolver.ResolverQueryLoggingConfigAssociation{} +// GetAllSNSTopicResources retrieves all sns.Topic items from an AWS CloudFormation template +func (t *Template) GetAllSNSTopicResources() map[string]*sns.Topic { + results := map[string]*sns.Topic{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53resolver.ResolverQueryLoggingConfigAssociation: + case *sns.Topic: results[name] = resource } } return results } -// GetRoute53ResolverResolverQueryLoggingConfigAssociationWithName retrieves all route53resolver.ResolverQueryLoggingConfigAssociation items from an AWS CloudFormation template +// GetSNSTopicWithName retrieves all sns.Topic items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53ResolverResolverQueryLoggingConfigAssociationWithName(name string) (*route53resolver.ResolverQueryLoggingConfigAssociation, error) { +func (t *Template) GetSNSTopicWithName(name string) (*sns.Topic, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53resolver.ResolverQueryLoggingConfigAssociation: + case *sns.Topic: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53resolver.ResolverQueryLoggingConfigAssociation not found", name) + return nil, fmt.Errorf("resource %q of type sns.Topic not found", name) } -// GetAllRoute53ResolverResolverRuleResources retrieves all route53resolver.ResolverRule items from an AWS CloudFormation template -func (t *Template) GetAllRoute53ResolverResolverRuleResources() map[string]*route53resolver.ResolverRule { - results := map[string]*route53resolver.ResolverRule{} +// GetAllSNSTopicPolicyResources retrieves all sns.TopicPolicy items from an AWS CloudFormation template +func (t *Template) GetAllSNSTopicPolicyResources() map[string]*sns.TopicPolicy { + results := map[string]*sns.TopicPolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53resolver.ResolverRule: + case *sns.TopicPolicy: results[name] = resource } } return results } -// GetRoute53ResolverResolverRuleWithName retrieves all route53resolver.ResolverRule items from an AWS CloudFormation template +// GetSNSTopicPolicyWithName retrieves all sns.TopicPolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53ResolverResolverRuleWithName(name string) (*route53resolver.ResolverRule, error) { +func (t *Template) GetSNSTopicPolicyWithName(name string) (*sns.TopicPolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53resolver.ResolverRule: + case *sns.TopicPolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53resolver.ResolverRule not found", name) + return nil, fmt.Errorf("resource %q of type sns.TopicPolicy not found", name) } -// GetAllRoute53ResolverResolverRuleAssociationResources retrieves all route53resolver.ResolverRuleAssociation items from an AWS CloudFormation template -func (t *Template) GetAllRoute53ResolverResolverRuleAssociationResources() map[string]*route53resolver.ResolverRuleAssociation { - results := map[string]*route53resolver.ResolverRuleAssociation{} +// GetAllSQSQueueResources retrieves all sqs.Queue items from an AWS CloudFormation template +func (t *Template) GetAllSQSQueueResources() map[string]*sqs.Queue { + results := map[string]*sqs.Queue{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *route53resolver.ResolverRuleAssociation: + case *sqs.Queue: results[name] = resource } } return results } -// GetRoute53ResolverResolverRuleAssociationWithName retrieves all route53resolver.ResolverRuleAssociation items from an AWS CloudFormation template +// GetSQSQueueWithName retrieves all sqs.Queue items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetRoute53ResolverResolverRuleAssociationWithName(name string) (*route53resolver.ResolverRuleAssociation, error) { +func (t *Template) GetSQSQueueWithName(name string) (*sqs.Queue, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *route53resolver.ResolverRuleAssociation: + case *sqs.Queue: return resource, nil } } - return nil, fmt.Errorf("resource %q of type route53resolver.ResolverRuleAssociation not found", name) + return nil, fmt.Errorf("resource %q of type sqs.Queue not found", name) } -// GetAllS3AccessPointResources retrieves all s3.AccessPoint items from an AWS CloudFormation template -func (t *Template) GetAllS3AccessPointResources() map[string]*s3.AccessPoint { - results := map[string]*s3.AccessPoint{} +// GetAllSQSQueuePolicyResources retrieves all sqs.QueuePolicy items from an AWS CloudFormation template +func (t *Template) GetAllSQSQueuePolicyResources() map[string]*sqs.QueuePolicy { + results := map[string]*sqs.QueuePolicy{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *s3.AccessPoint: + case *sqs.QueuePolicy: results[name] = resource } } return results } -// GetS3AccessPointWithName retrieves all s3.AccessPoint items from an AWS CloudFormation template +// GetSQSQueuePolicyWithName retrieves all sqs.QueuePolicy items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetS3AccessPointWithName(name string) (*s3.AccessPoint, error) { +func (t *Template) GetSQSQueuePolicyWithName(name string) (*sqs.QueuePolicy, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *s3.AccessPoint: + case *sqs.QueuePolicy: return resource, nil } } - return nil, fmt.Errorf("resource %q of type s3.AccessPoint not found", name) + return nil, fmt.Errorf("resource %q of type sqs.QueuePolicy not found", name) } -// GetAllS3BucketResources retrieves all s3.Bucket items from an AWS CloudFormation template -func (t *Template) GetAllS3BucketResources() map[string]*s3.Bucket { - results := map[string]*s3.Bucket{} +// GetAllSSMAssociationResources retrieves all ssm.Association items from an AWS CloudFormation template +func (t *Template) GetAllSSMAssociationResources() map[string]*ssm.Association { + results := map[string]*ssm.Association{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *s3.Bucket: + case *ssm.Association: results[name] = resource } } return results } -// GetS3BucketWithName retrieves all s3.Bucket items from an AWS CloudFormation template +// GetSSMAssociationWithName retrieves all ssm.Association items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetS3BucketWithName(name string) (*s3.Bucket, error) { +func (t *Template) GetSSMAssociationWithName(name string) (*ssm.Association, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *s3.Bucket: + case *ssm.Association: return resource, nil } } - return nil, fmt.Errorf("resource %q of type s3.Bucket not found", name) + return nil, fmt.Errorf("resource %q of type ssm.Association not found", name) } -// GetAllS3BucketPolicyResources retrieves all s3.BucketPolicy items from an AWS CloudFormation template -func (t *Template) GetAllS3BucketPolicyResources() map[string]*s3.BucketPolicy { - results := map[string]*s3.BucketPolicy{} +// GetAllSSMDocumentResources retrieves all ssm.Document items from an AWS CloudFormation template +func (t *Template) GetAllSSMDocumentResources() map[string]*ssm.Document { + results := map[string]*ssm.Document{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *s3.BucketPolicy: + case *ssm.Document: results[name] = resource } } return results } -// GetS3BucketPolicyWithName retrieves all s3.BucketPolicy items from an AWS CloudFormation template +// GetSSMDocumentWithName retrieves all ssm.Document items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetS3BucketPolicyWithName(name string) (*s3.BucketPolicy, error) { +func (t *Template) GetSSMDocumentWithName(name string) (*ssm.Document, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *s3.BucketPolicy: + case *ssm.Document: return resource, nil } } - return nil, fmt.Errorf("resource %q of type s3.BucketPolicy not found", name) + return nil, fmt.Errorf("resource %q of type ssm.Document not found", name) } -// GetAllSDBDomainResources retrieves all sdb.Domain items from an AWS CloudFormation template -func (t *Template) GetAllSDBDomainResources() map[string]*sdb.Domain { - results := map[string]*sdb.Domain{} +// GetAllSSMMaintenanceWindowResources retrieves all ssm.MaintenanceWindow items from an AWS CloudFormation template +func (t *Template) GetAllSSMMaintenanceWindowResources() map[string]*ssm.MaintenanceWindow { + results := map[string]*ssm.MaintenanceWindow{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sdb.Domain: + case *ssm.MaintenanceWindow: results[name] = resource } } return results } -// GetSDBDomainWithName retrieves all sdb.Domain items from an AWS CloudFormation template +// GetSSMMaintenanceWindowWithName retrieves all ssm.MaintenanceWindow items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSDBDomainWithName(name string) (*sdb.Domain, error) { +func (t *Template) GetSSMMaintenanceWindowWithName(name string) (*ssm.MaintenanceWindow, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sdb.Domain: + case *ssm.MaintenanceWindow: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sdb.Domain not found", name) + return nil, fmt.Errorf("resource %q of type ssm.MaintenanceWindow not found", name) } -// GetAllSESConfigurationSetResources retrieves all ses.ConfigurationSet items from an AWS CloudFormation template -func (t *Template) GetAllSESConfigurationSetResources() map[string]*ses.ConfigurationSet { - results := map[string]*ses.ConfigurationSet{} +// GetAllSSMMaintenanceWindowTargetResources retrieves all ssm.MaintenanceWindowTarget items from an AWS CloudFormation template +func (t *Template) GetAllSSMMaintenanceWindowTargetResources() map[string]*ssm.MaintenanceWindowTarget { + results := map[string]*ssm.MaintenanceWindowTarget{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ses.ConfigurationSet: + case *ssm.MaintenanceWindowTarget: results[name] = resource } } return results } -// GetSESConfigurationSetWithName retrieves all ses.ConfigurationSet items from an AWS CloudFormation template +// GetSSMMaintenanceWindowTargetWithName retrieves all ssm.MaintenanceWindowTarget items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSESConfigurationSetWithName(name string) (*ses.ConfigurationSet, error) { +func (t *Template) GetSSMMaintenanceWindowTargetWithName(name string) (*ssm.MaintenanceWindowTarget, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ses.ConfigurationSet: + case *ssm.MaintenanceWindowTarget: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ses.ConfigurationSet not found", name) + return nil, fmt.Errorf("resource %q of type ssm.MaintenanceWindowTarget not found", name) } -// GetAllSESConfigurationSetEventDestinationResources retrieves all ses.ConfigurationSetEventDestination items from an AWS CloudFormation template -func (t *Template) GetAllSESConfigurationSetEventDestinationResources() map[string]*ses.ConfigurationSetEventDestination { - results := map[string]*ses.ConfigurationSetEventDestination{} +// GetAllSSMMaintenanceWindowTaskResources retrieves all ssm.MaintenanceWindowTask items from an AWS CloudFormation template +func (t *Template) GetAllSSMMaintenanceWindowTaskResources() map[string]*ssm.MaintenanceWindowTask { + results := map[string]*ssm.MaintenanceWindowTask{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ses.ConfigurationSetEventDestination: + case *ssm.MaintenanceWindowTask: results[name] = resource } } return results } -// GetSESConfigurationSetEventDestinationWithName retrieves all ses.ConfigurationSetEventDestination items from an AWS CloudFormation template +// GetSSMMaintenanceWindowTaskWithName retrieves all ssm.MaintenanceWindowTask items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSESConfigurationSetEventDestinationWithName(name string) (*ses.ConfigurationSetEventDestination, error) { +func (t *Template) GetSSMMaintenanceWindowTaskWithName(name string) (*ssm.MaintenanceWindowTask, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ses.ConfigurationSetEventDestination: + case *ssm.MaintenanceWindowTask: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ses.ConfigurationSetEventDestination not found", name) + return nil, fmt.Errorf("resource %q of type ssm.MaintenanceWindowTask not found", name) } -// GetAllSESReceiptFilterResources retrieves all ses.ReceiptFilter items from an AWS CloudFormation template -func (t *Template) GetAllSESReceiptFilterResources() map[string]*ses.ReceiptFilter { - results := map[string]*ses.ReceiptFilter{} +// GetAllSSMParameterResources retrieves all ssm.Parameter items from an AWS CloudFormation template +func (t *Template) GetAllSSMParameterResources() map[string]*ssm.Parameter { + results := map[string]*ssm.Parameter{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ses.ReceiptFilter: + case *ssm.Parameter: results[name] = resource } } return results } -// GetSESReceiptFilterWithName retrieves all ses.ReceiptFilter items from an AWS CloudFormation template +// GetSSMParameterWithName retrieves all ssm.Parameter items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSESReceiptFilterWithName(name string) (*ses.ReceiptFilter, error) { +func (t *Template) GetSSMParameterWithName(name string) (*ssm.Parameter, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ses.ReceiptFilter: + case *ssm.Parameter: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ses.ReceiptFilter not found", name) + return nil, fmt.Errorf("resource %q of type ssm.Parameter not found", name) } -// GetAllSESReceiptRuleResources retrieves all ses.ReceiptRule items from an AWS CloudFormation template -func (t *Template) GetAllSESReceiptRuleResources() map[string]*ses.ReceiptRule { - results := map[string]*ses.ReceiptRule{} +// GetAllSSMPatchBaselineResources retrieves all ssm.PatchBaseline items from an AWS CloudFormation template +func (t *Template) GetAllSSMPatchBaselineResources() map[string]*ssm.PatchBaseline { + results := map[string]*ssm.PatchBaseline{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ses.ReceiptRule: + case *ssm.PatchBaseline: results[name] = resource } } return results } -// GetSESReceiptRuleWithName retrieves all ses.ReceiptRule items from an AWS CloudFormation template +// GetSSMPatchBaselineWithName retrieves all ssm.PatchBaseline items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSESReceiptRuleWithName(name string) (*ses.ReceiptRule, error) { +func (t *Template) GetSSMPatchBaselineWithName(name string) (*ssm.PatchBaseline, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ses.ReceiptRule: + case *ssm.PatchBaseline: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ses.ReceiptRule not found", name) + return nil, fmt.Errorf("resource %q of type ssm.PatchBaseline not found", name) } -// GetAllSESReceiptRuleSetResources retrieves all ses.ReceiptRuleSet items from an AWS CloudFormation template -func (t *Template) GetAllSESReceiptRuleSetResources() map[string]*ses.ReceiptRuleSet { - results := map[string]*ses.ReceiptRuleSet{} +// GetAllSSMResourceDataSyncResources retrieves all ssm.ResourceDataSync items from an AWS CloudFormation template +func (t *Template) GetAllSSMResourceDataSyncResources() map[string]*ssm.ResourceDataSync { + results := map[string]*ssm.ResourceDataSync{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ses.ReceiptRuleSet: + case *ssm.ResourceDataSync: results[name] = resource } } return results } -// GetSESReceiptRuleSetWithName retrieves all ses.ReceiptRuleSet items from an AWS CloudFormation template +// GetSSMResourceDataSyncWithName retrieves all ssm.ResourceDataSync items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSESReceiptRuleSetWithName(name string) (*ses.ReceiptRuleSet, error) { +func (t *Template) GetSSMResourceDataSyncWithName(name string) (*ssm.ResourceDataSync, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ses.ReceiptRuleSet: + case *ssm.ResourceDataSync: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ses.ReceiptRuleSet not found", name) + return nil, fmt.Errorf("resource %q of type ssm.ResourceDataSync not found", name) } -// GetAllSESTemplateResources retrieves all ses.Template items from an AWS CloudFormation template -func (t *Template) GetAllSESTemplateResources() map[string]*ses.Template { - results := map[string]*ses.Template{} +// GetAllSSOAssignmentResources retrieves all sso.Assignment items from an AWS CloudFormation template +func (t *Template) GetAllSSOAssignmentResources() map[string]*sso.Assignment { + results := map[string]*sso.Assignment{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ses.Template: + case *sso.Assignment: results[name] = resource } } return results } -// GetSESTemplateWithName retrieves all ses.Template items from an AWS CloudFormation template +// GetSSOAssignmentWithName retrieves all sso.Assignment items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSESTemplateWithName(name string) (*ses.Template, error) { +func (t *Template) GetSSOAssignmentWithName(name string) (*sso.Assignment, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ses.Template: + case *sso.Assignment: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ses.Template not found", name) + return nil, fmt.Errorf("resource %q of type sso.Assignment not found", name) } -// GetAllSNSSubscriptionResources retrieves all sns.Subscription items from an AWS CloudFormation template -func (t *Template) GetAllSNSSubscriptionResources() map[string]*sns.Subscription { - results := map[string]*sns.Subscription{} +// GetAllSSOInstanceAccessControlAttributeConfigurationResources retrieves all sso.InstanceAccessControlAttributeConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllSSOInstanceAccessControlAttributeConfigurationResources() map[string]*sso.InstanceAccessControlAttributeConfiguration { + results := map[string]*sso.InstanceAccessControlAttributeConfiguration{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sns.Subscription: + case *sso.InstanceAccessControlAttributeConfiguration: results[name] = resource } } return results } -// GetSNSSubscriptionWithName retrieves all sns.Subscription items from an AWS CloudFormation template +// GetSSOInstanceAccessControlAttributeConfigurationWithName retrieves all sso.InstanceAccessControlAttributeConfiguration items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSNSSubscriptionWithName(name string) (*sns.Subscription, error) { +func (t *Template) GetSSOInstanceAccessControlAttributeConfigurationWithName(name string) (*sso.InstanceAccessControlAttributeConfiguration, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sns.Subscription: + case *sso.InstanceAccessControlAttributeConfiguration: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sns.Subscription not found", name) + return nil, fmt.Errorf("resource %q of type sso.InstanceAccessControlAttributeConfiguration not found", name) } -// GetAllSNSTopicResources retrieves all sns.Topic items from an AWS CloudFormation template -func (t *Template) GetAllSNSTopicResources() map[string]*sns.Topic { - results := map[string]*sns.Topic{} +// GetAllSSOPermissionSetResources retrieves all sso.PermissionSet items from an AWS CloudFormation template +func (t *Template) GetAllSSOPermissionSetResources() map[string]*sso.PermissionSet { + results := map[string]*sso.PermissionSet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sns.Topic: + case *sso.PermissionSet: results[name] = resource } } return results } -// GetSNSTopicWithName retrieves all sns.Topic items from an AWS CloudFormation template +// GetSSOPermissionSetWithName retrieves all sso.PermissionSet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSNSTopicWithName(name string) (*sns.Topic, error) { +func (t *Template) GetSSOPermissionSetWithName(name string) (*sso.PermissionSet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sns.Topic: + case *sso.PermissionSet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sns.Topic not found", name) + return nil, fmt.Errorf("resource %q of type sso.PermissionSet not found", name) } -// GetAllSNSTopicPolicyResources retrieves all sns.TopicPolicy items from an AWS CloudFormation template -func (t *Template) GetAllSNSTopicPolicyResources() map[string]*sns.TopicPolicy { - results := map[string]*sns.TopicPolicy{} +// GetAllSageMakerAppResources retrieves all sagemaker.App items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerAppResources() map[string]*sagemaker.App { + results := map[string]*sagemaker.App{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sns.TopicPolicy: + case *sagemaker.App: results[name] = resource } } return results } -// GetSNSTopicPolicyWithName retrieves all sns.TopicPolicy items from an AWS CloudFormation template +// GetSageMakerAppWithName retrieves all sagemaker.App items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSNSTopicPolicyWithName(name string) (*sns.TopicPolicy, error) { +func (t *Template) GetSageMakerAppWithName(name string) (*sagemaker.App, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sns.TopicPolicy: + case *sagemaker.App: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sns.TopicPolicy not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.App not found", name) } -// GetAllSQSQueueResources retrieves all sqs.Queue items from an AWS CloudFormation template -func (t *Template) GetAllSQSQueueResources() map[string]*sqs.Queue { - results := map[string]*sqs.Queue{} +// GetAllSageMakerAppImageConfigResources retrieves all sagemaker.AppImageConfig items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerAppImageConfigResources() map[string]*sagemaker.AppImageConfig { + results := map[string]*sagemaker.AppImageConfig{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sqs.Queue: + case *sagemaker.AppImageConfig: results[name] = resource } } return results } -// GetSQSQueueWithName retrieves all sqs.Queue items from an AWS CloudFormation template +// GetSageMakerAppImageConfigWithName retrieves all sagemaker.AppImageConfig items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSQSQueueWithName(name string) (*sqs.Queue, error) { +func (t *Template) GetSageMakerAppImageConfigWithName(name string) (*sagemaker.AppImageConfig, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sqs.Queue: + case *sagemaker.AppImageConfig: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sqs.Queue not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.AppImageConfig not found", name) } -// GetAllSQSQueuePolicyResources retrieves all sqs.QueuePolicy items from an AWS CloudFormation template -func (t *Template) GetAllSQSQueuePolicyResources() map[string]*sqs.QueuePolicy { - results := map[string]*sqs.QueuePolicy{} +// GetAllSageMakerCodeRepositoryResources retrieves all sagemaker.CodeRepository items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerCodeRepositoryResources() map[string]*sagemaker.CodeRepository { + results := map[string]*sagemaker.CodeRepository{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sqs.QueuePolicy: + case *sagemaker.CodeRepository: results[name] = resource } } return results } -// GetSQSQueuePolicyWithName retrieves all sqs.QueuePolicy items from an AWS CloudFormation template +// GetSageMakerCodeRepositoryWithName retrieves all sagemaker.CodeRepository items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSQSQueuePolicyWithName(name string) (*sqs.QueuePolicy, error) { +func (t *Template) GetSageMakerCodeRepositoryWithName(name string) (*sagemaker.CodeRepository, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sqs.QueuePolicy: + case *sagemaker.CodeRepository: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sqs.QueuePolicy not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.CodeRepository not found", name) } -// GetAllSSMAssociationResources retrieves all ssm.Association items from an AWS CloudFormation template -func (t *Template) GetAllSSMAssociationResources() map[string]*ssm.Association { - results := map[string]*ssm.Association{} +// GetAllSageMakerDataQualityJobDefinitionResources retrieves all sagemaker.DataQualityJobDefinition items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerDataQualityJobDefinitionResources() map[string]*sagemaker.DataQualityJobDefinition { + results := map[string]*sagemaker.DataQualityJobDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.Association: + case *sagemaker.DataQualityJobDefinition: results[name] = resource } } return results } -// GetSSMAssociationWithName retrieves all ssm.Association items from an AWS CloudFormation template +// GetSageMakerDataQualityJobDefinitionWithName retrieves all sagemaker.DataQualityJobDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMAssociationWithName(name string) (*ssm.Association, error) { +func (t *Template) GetSageMakerDataQualityJobDefinitionWithName(name string) (*sagemaker.DataQualityJobDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.Association: + case *sagemaker.DataQualityJobDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.Association not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.DataQualityJobDefinition not found", name) } -// GetAllSSMDocumentResources retrieves all ssm.Document items from an AWS CloudFormation template -func (t *Template) GetAllSSMDocumentResources() map[string]*ssm.Document { - results := map[string]*ssm.Document{} +// GetAllSageMakerDeviceResources retrieves all sagemaker.Device items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerDeviceResources() map[string]*sagemaker.Device { + results := map[string]*sagemaker.Device{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.Document: + case *sagemaker.Device: results[name] = resource } } return results } -// GetSSMDocumentWithName retrieves all ssm.Document items from an AWS CloudFormation template +// GetSageMakerDeviceWithName retrieves all sagemaker.Device items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMDocumentWithName(name string) (*ssm.Document, error) { +func (t *Template) GetSageMakerDeviceWithName(name string) (*sagemaker.Device, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.Document: + case *sagemaker.Device: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.Document not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.Device not found", name) } -// GetAllSSMMaintenanceWindowResources retrieves all ssm.MaintenanceWindow items from an AWS CloudFormation template -func (t *Template) GetAllSSMMaintenanceWindowResources() map[string]*ssm.MaintenanceWindow { - results := map[string]*ssm.MaintenanceWindow{} +// GetAllSageMakerDeviceFleetResources retrieves all sagemaker.DeviceFleet items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerDeviceFleetResources() map[string]*sagemaker.DeviceFleet { + results := map[string]*sagemaker.DeviceFleet{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.MaintenanceWindow: + case *sagemaker.DeviceFleet: results[name] = resource } } return results } -// GetSSMMaintenanceWindowWithName retrieves all ssm.MaintenanceWindow items from an AWS CloudFormation template +// GetSageMakerDeviceFleetWithName retrieves all sagemaker.DeviceFleet items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMMaintenanceWindowWithName(name string) (*ssm.MaintenanceWindow, error) { +func (t *Template) GetSageMakerDeviceFleetWithName(name string) (*sagemaker.DeviceFleet, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.MaintenanceWindow: + case *sagemaker.DeviceFleet: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.MaintenanceWindow not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.DeviceFleet not found", name) } -// GetAllSSMMaintenanceWindowTargetResources retrieves all ssm.MaintenanceWindowTarget items from an AWS CloudFormation template -func (t *Template) GetAllSSMMaintenanceWindowTargetResources() map[string]*ssm.MaintenanceWindowTarget { - results := map[string]*ssm.MaintenanceWindowTarget{} +// GetAllSageMakerDomainResources retrieves all sagemaker.Domain items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerDomainResources() map[string]*sagemaker.Domain { + results := map[string]*sagemaker.Domain{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.MaintenanceWindowTarget: + case *sagemaker.Domain: results[name] = resource } } return results } -// GetSSMMaintenanceWindowTargetWithName retrieves all ssm.MaintenanceWindowTarget items from an AWS CloudFormation template +// GetSageMakerDomainWithName retrieves all sagemaker.Domain items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMMaintenanceWindowTargetWithName(name string) (*ssm.MaintenanceWindowTarget, error) { +func (t *Template) GetSageMakerDomainWithName(name string) (*sagemaker.Domain, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.MaintenanceWindowTarget: + case *sagemaker.Domain: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.MaintenanceWindowTarget not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.Domain not found", name) } -// GetAllSSMMaintenanceWindowTaskResources retrieves all ssm.MaintenanceWindowTask items from an AWS CloudFormation template -func (t *Template) GetAllSSMMaintenanceWindowTaskResources() map[string]*ssm.MaintenanceWindowTask { - results := map[string]*ssm.MaintenanceWindowTask{} +// GetAllSageMakerEndpointResources retrieves all sagemaker.Endpoint items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerEndpointResources() map[string]*sagemaker.Endpoint { + results := map[string]*sagemaker.Endpoint{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.MaintenanceWindowTask: + case *sagemaker.Endpoint: results[name] = resource } } return results } -// GetSSMMaintenanceWindowTaskWithName retrieves all ssm.MaintenanceWindowTask items from an AWS CloudFormation template +// GetSageMakerEndpointWithName retrieves all sagemaker.Endpoint items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMMaintenanceWindowTaskWithName(name string) (*ssm.MaintenanceWindowTask, error) { +func (t *Template) GetSageMakerEndpointWithName(name string) (*sagemaker.Endpoint, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.MaintenanceWindowTask: + case *sagemaker.Endpoint: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.MaintenanceWindowTask not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.Endpoint not found", name) } -// GetAllSSMParameterResources retrieves all ssm.Parameter items from an AWS CloudFormation template -func (t *Template) GetAllSSMParameterResources() map[string]*ssm.Parameter { - results := map[string]*ssm.Parameter{} +// GetAllSageMakerEndpointConfigResources retrieves all sagemaker.EndpointConfig items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerEndpointConfigResources() map[string]*sagemaker.EndpointConfig { + results := map[string]*sagemaker.EndpointConfig{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.Parameter: + case *sagemaker.EndpointConfig: results[name] = resource } } return results } -// GetSSMParameterWithName retrieves all ssm.Parameter items from an AWS CloudFormation template +// GetSageMakerEndpointConfigWithName retrieves all sagemaker.EndpointConfig items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMParameterWithName(name string) (*ssm.Parameter, error) { +func (t *Template) GetSageMakerEndpointConfigWithName(name string) (*sagemaker.EndpointConfig, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.Parameter: + case *sagemaker.EndpointConfig: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.Parameter not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.EndpointConfig not found", name) } -// GetAllSSMPatchBaselineResources retrieves all ssm.PatchBaseline items from an AWS CloudFormation template -func (t *Template) GetAllSSMPatchBaselineResources() map[string]*ssm.PatchBaseline { - results := map[string]*ssm.PatchBaseline{} +// GetAllSageMakerFeatureGroupResources retrieves all sagemaker.FeatureGroup items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerFeatureGroupResources() map[string]*sagemaker.FeatureGroup { + results := map[string]*sagemaker.FeatureGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.PatchBaseline: + case *sagemaker.FeatureGroup: results[name] = resource } } return results } -// GetSSMPatchBaselineWithName retrieves all ssm.PatchBaseline items from an AWS CloudFormation template +// GetSageMakerFeatureGroupWithName retrieves all sagemaker.FeatureGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMPatchBaselineWithName(name string) (*ssm.PatchBaseline, error) { +func (t *Template) GetSageMakerFeatureGroupWithName(name string) (*sagemaker.FeatureGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.PatchBaseline: + case *sagemaker.FeatureGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.PatchBaseline not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.FeatureGroup not found", name) } -// GetAllSSMResourceDataSyncResources retrieves all ssm.ResourceDataSync items from an AWS CloudFormation template -func (t *Template) GetAllSSMResourceDataSyncResources() map[string]*ssm.ResourceDataSync { - results := map[string]*ssm.ResourceDataSync{} +// GetAllSageMakerImageResources retrieves all sagemaker.Image items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerImageResources() map[string]*sagemaker.Image { + results := map[string]*sagemaker.Image{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *ssm.ResourceDataSync: + case *sagemaker.Image: results[name] = resource } } return results } -// GetSSMResourceDataSyncWithName retrieves all ssm.ResourceDataSync items from an AWS CloudFormation template +// GetSageMakerImageWithName retrieves all sagemaker.Image items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSMResourceDataSyncWithName(name string) (*ssm.ResourceDataSync, error) { +func (t *Template) GetSageMakerImageWithName(name string) (*sagemaker.Image, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *ssm.ResourceDataSync: + case *sagemaker.Image: return resource, nil } } - return nil, fmt.Errorf("resource %q of type ssm.ResourceDataSync not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.Image not found", name) } -// GetAllSSOAssignmentResources retrieves all sso.Assignment items from an AWS CloudFormation template -func (t *Template) GetAllSSOAssignmentResources() map[string]*sso.Assignment { - results := map[string]*sso.Assignment{} +// GetAllSageMakerImageVersionResources retrieves all sagemaker.ImageVersion items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerImageVersionResources() map[string]*sagemaker.ImageVersion { + results := map[string]*sagemaker.ImageVersion{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sso.Assignment: + case *sagemaker.ImageVersion: results[name] = resource } } return results } -// GetSSOAssignmentWithName retrieves all sso.Assignment items from an AWS CloudFormation template +// GetSageMakerImageVersionWithName retrieves all sagemaker.ImageVersion items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSOAssignmentWithName(name string) (*sso.Assignment, error) { +func (t *Template) GetSageMakerImageVersionWithName(name string) (*sagemaker.ImageVersion, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sso.Assignment: + case *sagemaker.ImageVersion: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sso.Assignment not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.ImageVersion not found", name) } -// GetAllSSOPermissionSetResources retrieves all sso.PermissionSet items from an AWS CloudFormation template -func (t *Template) GetAllSSOPermissionSetResources() map[string]*sso.PermissionSet { - results := map[string]*sso.PermissionSet{} +// GetAllSageMakerModelResources retrieves all sagemaker.Model items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerModelResources() map[string]*sagemaker.Model { + results := map[string]*sagemaker.Model{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sso.PermissionSet: + case *sagemaker.Model: results[name] = resource } } return results } -// GetSSOPermissionSetWithName retrieves all sso.PermissionSet items from an AWS CloudFormation template +// GetSageMakerModelWithName retrieves all sagemaker.Model items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSSOPermissionSetWithName(name string) (*sso.PermissionSet, error) { +func (t *Template) GetSageMakerModelWithName(name string) (*sagemaker.Model, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sso.PermissionSet: + case *sagemaker.Model: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sso.PermissionSet not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.Model not found", name) } -// GetAllSageMakerCodeRepositoryResources retrieves all sagemaker.CodeRepository items from an AWS CloudFormation template -func (t *Template) GetAllSageMakerCodeRepositoryResources() map[string]*sagemaker.CodeRepository { - results := map[string]*sagemaker.CodeRepository{} +// GetAllSageMakerModelBiasJobDefinitionResources retrieves all sagemaker.ModelBiasJobDefinition items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerModelBiasJobDefinitionResources() map[string]*sagemaker.ModelBiasJobDefinition { + results := map[string]*sagemaker.ModelBiasJobDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sagemaker.CodeRepository: + case *sagemaker.ModelBiasJobDefinition: results[name] = resource } } return results } -// GetSageMakerCodeRepositoryWithName retrieves all sagemaker.CodeRepository items from an AWS CloudFormation template +// GetSageMakerModelBiasJobDefinitionWithName retrieves all sagemaker.ModelBiasJobDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSageMakerCodeRepositoryWithName(name string) (*sagemaker.CodeRepository, error) { +func (t *Template) GetSageMakerModelBiasJobDefinitionWithName(name string) (*sagemaker.ModelBiasJobDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sagemaker.CodeRepository: + case *sagemaker.ModelBiasJobDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sagemaker.CodeRepository not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.ModelBiasJobDefinition not found", name) } -// GetAllSageMakerEndpointResources retrieves all sagemaker.Endpoint items from an AWS CloudFormation template -func (t *Template) GetAllSageMakerEndpointResources() map[string]*sagemaker.Endpoint { - results := map[string]*sagemaker.Endpoint{} +// GetAllSageMakerModelExplainabilityJobDefinitionResources retrieves all sagemaker.ModelExplainabilityJobDefinition items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerModelExplainabilityJobDefinitionResources() map[string]*sagemaker.ModelExplainabilityJobDefinition { + results := map[string]*sagemaker.ModelExplainabilityJobDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sagemaker.Endpoint: + case *sagemaker.ModelExplainabilityJobDefinition: results[name] = resource } } return results } -// GetSageMakerEndpointWithName retrieves all sagemaker.Endpoint items from an AWS CloudFormation template +// GetSageMakerModelExplainabilityJobDefinitionWithName retrieves all sagemaker.ModelExplainabilityJobDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSageMakerEndpointWithName(name string) (*sagemaker.Endpoint, error) { +func (t *Template) GetSageMakerModelExplainabilityJobDefinitionWithName(name string) (*sagemaker.ModelExplainabilityJobDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sagemaker.Endpoint: + case *sagemaker.ModelExplainabilityJobDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sagemaker.Endpoint not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.ModelExplainabilityJobDefinition not found", name) } -// GetAllSageMakerEndpointConfigResources retrieves all sagemaker.EndpointConfig items from an AWS CloudFormation template -func (t *Template) GetAllSageMakerEndpointConfigResources() map[string]*sagemaker.EndpointConfig { - results := map[string]*sagemaker.EndpointConfig{} +// GetAllSageMakerModelPackageGroupResources retrieves all sagemaker.ModelPackageGroup items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerModelPackageGroupResources() map[string]*sagemaker.ModelPackageGroup { + results := map[string]*sagemaker.ModelPackageGroup{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sagemaker.EndpointConfig: + case *sagemaker.ModelPackageGroup: results[name] = resource } } return results } -// GetSageMakerEndpointConfigWithName retrieves all sagemaker.EndpointConfig items from an AWS CloudFormation template +// GetSageMakerModelPackageGroupWithName retrieves all sagemaker.ModelPackageGroup items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSageMakerEndpointConfigWithName(name string) (*sagemaker.EndpointConfig, error) { +func (t *Template) GetSageMakerModelPackageGroupWithName(name string) (*sagemaker.ModelPackageGroup, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sagemaker.EndpointConfig: + case *sagemaker.ModelPackageGroup: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sagemaker.EndpointConfig not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.ModelPackageGroup not found", name) } -// GetAllSageMakerModelResources retrieves all sagemaker.Model items from an AWS CloudFormation template -func (t *Template) GetAllSageMakerModelResources() map[string]*sagemaker.Model { - results := map[string]*sagemaker.Model{} +// GetAllSageMakerModelQualityJobDefinitionResources retrieves all sagemaker.ModelQualityJobDefinition items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerModelQualityJobDefinitionResources() map[string]*sagemaker.ModelQualityJobDefinition { + results := map[string]*sagemaker.ModelQualityJobDefinition{} for name, untyped := range t.Resources { switch resource := untyped.(type) { - case *sagemaker.Model: + case *sagemaker.ModelQualityJobDefinition: results[name] = resource } } return results } -// GetSageMakerModelWithName retrieves all sagemaker.Model items from an AWS CloudFormation template +// GetSageMakerModelQualityJobDefinitionWithName retrieves all sagemaker.ModelQualityJobDefinition items from an AWS CloudFormation template // whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetSageMakerModelWithName(name string) (*sagemaker.Model, error) { +func (t *Template) GetSageMakerModelQualityJobDefinitionWithName(name string) (*sagemaker.ModelQualityJobDefinition, error) { if untyped, ok := t.Resources[name]; ok { switch resource := untyped.(type) { - case *sagemaker.Model: + case *sagemaker.ModelQualityJobDefinition: return resource, nil } } - return nil, fmt.Errorf("resource %q of type sagemaker.Model not found", name) + return nil, fmt.Errorf("resource %q of type sagemaker.ModelQualityJobDefinition not found", name) } // GetAllSageMakerMonitoringScheduleResources retrieves all sagemaker.MonitoringSchedule items from an AWS CloudFormation template @@ -13355,6 +16182,78 @@ func (t *Template) GetSageMakerNotebookInstanceLifecycleConfigWithName(name stri return nil, fmt.Errorf("resource %q of type sagemaker.NotebookInstanceLifecycleConfig not found", name) } +// GetAllSageMakerPipelineResources retrieves all sagemaker.Pipeline items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerPipelineResources() map[string]*sagemaker.Pipeline { + results := map[string]*sagemaker.Pipeline{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *sagemaker.Pipeline: + results[name] = resource + } + } + return results +} + +// GetSageMakerPipelineWithName retrieves all sagemaker.Pipeline items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSageMakerPipelineWithName(name string) (*sagemaker.Pipeline, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *sagemaker.Pipeline: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type sagemaker.Pipeline not found", name) +} + +// GetAllSageMakerProjectResources retrieves all sagemaker.Project items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerProjectResources() map[string]*sagemaker.Project { + results := map[string]*sagemaker.Project{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *sagemaker.Project: + results[name] = resource + } + } + return results +} + +// GetSageMakerProjectWithName retrieves all sagemaker.Project items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSageMakerProjectWithName(name string) (*sagemaker.Project, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *sagemaker.Project: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type sagemaker.Project not found", name) +} + +// GetAllSageMakerUserProfileResources retrieves all sagemaker.UserProfile items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerUserProfileResources() map[string]*sagemaker.UserProfile { + results := map[string]*sagemaker.UserProfile{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *sagemaker.UserProfile: + results[name] = resource + } + } + return results +} + +// GetSageMakerUserProfileWithName retrieves all sagemaker.UserProfile items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSageMakerUserProfileWithName(name string) (*sagemaker.UserProfile, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *sagemaker.UserProfile: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type sagemaker.UserProfile not found", name) +} + // GetAllSageMakerWorkteamResources retrieves all sagemaker.Workteam items from an AWS CloudFormation template func (t *Template) GetAllSageMakerWorkteamResources() map[string]*sagemaker.Workteam { results := map[string]*sagemaker.Workteam{} @@ -13931,6 +16830,54 @@ func (t *Template) GetServiceCatalogResourceUpdateConstraintWithName(name string return nil, fmt.Errorf("resource %q of type servicecatalog.ResourceUpdateConstraint not found", name) } +// GetAllServiceCatalogServiceActionResources retrieves all servicecatalog.ServiceAction items from an AWS CloudFormation template +func (t *Template) GetAllServiceCatalogServiceActionResources() map[string]*servicecatalog.ServiceAction { + results := map[string]*servicecatalog.ServiceAction{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *servicecatalog.ServiceAction: + results[name] = resource + } + } + return results +} + +// GetServiceCatalogServiceActionWithName retrieves all servicecatalog.ServiceAction items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServiceCatalogServiceActionWithName(name string) (*servicecatalog.ServiceAction, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *servicecatalog.ServiceAction: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type servicecatalog.ServiceAction not found", name) +} + +// GetAllServiceCatalogServiceActionAssociationResources retrieves all servicecatalog.ServiceActionAssociation items from an AWS CloudFormation template +func (t *Template) GetAllServiceCatalogServiceActionAssociationResources() map[string]*servicecatalog.ServiceActionAssociation { + results := map[string]*servicecatalog.ServiceActionAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *servicecatalog.ServiceActionAssociation: + results[name] = resource + } + } + return results +} + +// GetServiceCatalogServiceActionAssociationWithName retrieves all servicecatalog.ServiceActionAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServiceCatalogServiceActionAssociationWithName(name string) (*servicecatalog.ServiceActionAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *servicecatalog.ServiceActionAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type servicecatalog.ServiceActionAssociation not found", name) +} + // GetAllServiceCatalogStackSetConstraintResources retrieves all servicecatalog.StackSetConstraint items from an AWS CloudFormation template func (t *Template) GetAllServiceCatalogStackSetConstraintResources() map[string]*servicecatalog.StackSetConstraint { results := map[string]*servicecatalog.StackSetConstraint{} @@ -14003,6 +16950,102 @@ func (t *Template) GetServiceCatalogTagOptionAssociationWithName(name string) (* return nil, fmt.Errorf("resource %q of type servicecatalog.TagOptionAssociation not found", name) } +// GetAllServiceCatalogAppRegistryApplicationResources retrieves all servicecatalogappregistry.Application items from an AWS CloudFormation template +func (t *Template) GetAllServiceCatalogAppRegistryApplicationResources() map[string]*servicecatalogappregistry.Application { + results := map[string]*servicecatalogappregistry.Application{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *servicecatalogappregistry.Application: + results[name] = resource + } + } + return results +} + +// GetServiceCatalogAppRegistryApplicationWithName retrieves all servicecatalogappregistry.Application items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServiceCatalogAppRegistryApplicationWithName(name string) (*servicecatalogappregistry.Application, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *servicecatalogappregistry.Application: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type servicecatalogappregistry.Application not found", name) +} + +// GetAllServiceCatalogAppRegistryAttributeGroupResources retrieves all servicecatalogappregistry.AttributeGroup items from an AWS CloudFormation template +func (t *Template) GetAllServiceCatalogAppRegistryAttributeGroupResources() map[string]*servicecatalogappregistry.AttributeGroup { + results := map[string]*servicecatalogappregistry.AttributeGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *servicecatalogappregistry.AttributeGroup: + results[name] = resource + } + } + return results +} + +// GetServiceCatalogAppRegistryAttributeGroupWithName retrieves all servicecatalogappregistry.AttributeGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServiceCatalogAppRegistryAttributeGroupWithName(name string) (*servicecatalogappregistry.AttributeGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *servicecatalogappregistry.AttributeGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type servicecatalogappregistry.AttributeGroup not found", name) +} + +// GetAllServiceCatalogAppRegistryAttributeGroupAssociationResources retrieves all servicecatalogappregistry.AttributeGroupAssociation items from an AWS CloudFormation template +func (t *Template) GetAllServiceCatalogAppRegistryAttributeGroupAssociationResources() map[string]*servicecatalogappregistry.AttributeGroupAssociation { + results := map[string]*servicecatalogappregistry.AttributeGroupAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *servicecatalogappregistry.AttributeGroupAssociation: + results[name] = resource + } + } + return results +} + +// GetServiceCatalogAppRegistryAttributeGroupAssociationWithName retrieves all servicecatalogappregistry.AttributeGroupAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServiceCatalogAppRegistryAttributeGroupAssociationWithName(name string) (*servicecatalogappregistry.AttributeGroupAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *servicecatalogappregistry.AttributeGroupAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type servicecatalogappregistry.AttributeGroupAssociation not found", name) +} + +// GetAllServiceCatalogAppRegistryResourceAssociationResources retrieves all servicecatalogappregistry.ResourceAssociation items from an AWS CloudFormation template +func (t *Template) GetAllServiceCatalogAppRegistryResourceAssociationResources() map[string]*servicecatalogappregistry.ResourceAssociation { + results := map[string]*servicecatalogappregistry.ResourceAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *servicecatalogappregistry.ResourceAssociation: + results[name] = resource + } + } + return results +} + +// GetServiceCatalogAppRegistryResourceAssociationWithName retrieves all servicecatalogappregistry.ResourceAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetServiceCatalogAppRegistryResourceAssociationWithName(name string) (*servicecatalogappregistry.ResourceAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *servicecatalogappregistry.ResourceAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type servicecatalogappregistry.ResourceAssociation not found", name) +} + // GetAllServiceDiscoveryHttpNamespaceResources retrieves all servicediscovery.HttpNamespace items from an AWS CloudFormation template func (t *Template) GetAllServiceDiscoveryHttpNamespaceResources() map[string]*servicediscovery.HttpNamespace { results := map[string]*servicediscovery.HttpNamespace{} @@ -14123,6 +17166,54 @@ func (t *Template) GetServiceDiscoveryServiceWithName(name string) (*servicedisc return nil, fmt.Errorf("resource %q of type servicediscovery.Service not found", name) } +// GetAllSignerProfilePermissionResources retrieves all signer.ProfilePermission items from an AWS CloudFormation template +func (t *Template) GetAllSignerProfilePermissionResources() map[string]*signer.ProfilePermission { + results := map[string]*signer.ProfilePermission{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *signer.ProfilePermission: + results[name] = resource + } + } + return results +} + +// GetSignerProfilePermissionWithName retrieves all signer.ProfilePermission items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSignerProfilePermissionWithName(name string) (*signer.ProfilePermission, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *signer.ProfilePermission: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type signer.ProfilePermission not found", name) +} + +// GetAllSignerSigningProfileResources retrieves all signer.SigningProfile items from an AWS CloudFormation template +func (t *Template) GetAllSignerSigningProfileResources() map[string]*signer.SigningProfile { + results := map[string]*signer.SigningProfile{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *signer.SigningProfile: + results[name] = resource + } + } + return results +} + +// GetSignerSigningProfileWithName retrieves all signer.SigningProfile items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSignerSigningProfileWithName(name string) (*signer.SigningProfile, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *signer.SigningProfile: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type signer.SigningProfile not found", name) +} + // GetAllStepFunctionsActivityResources retrieves all stepfunctions.Activity items from an AWS CloudFormation template func (t *Template) GetAllStepFunctionsActivityResources() map[string]*stepfunctions.Activity { results := map[string]*stepfunctions.Activity{} diff --git a/cloudformation/amazonmq/aws-amazonmq-configuration.go b/cloudformation/amazonmq/aws-amazonmq-configuration.go index 48b071a44f..766238be38 100644 --- a/cloudformation/amazonmq/aws-amazonmq-configuration.go +++ b/cloudformation/amazonmq/aws-amazonmq-configuration.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html type Configuration struct { + // AuthenticationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-authenticationstrategy + AuthenticationStrategy string `json:"AuthenticationStrategy,omitempty"` + // Data AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-data diff --git a/cloudformation/amplify/aws-amplify-app.go b/cloudformation/amplify/aws-amplify-app.go index d14060470d..909e53ebc7 100644 --- a/cloudformation/amplify/aws-amplify-app.go +++ b/cloudformation/amplify/aws-amplify-app.go @@ -33,6 +33,11 @@ type App struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-buildspec BuildSpec string `json:"BuildSpec,omitempty"` + // CustomHeaders AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-customheaders + CustomHeaders string `json:"CustomHeaders,omitempty"` + // CustomRules AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-customrules diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go b/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go index 2a3c8cbc87..e63b607e8b 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-integration.go @@ -82,6 +82,11 @@ type Integration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requesttemplates RequestTemplates interface{} `json:"RequestTemplates,omitempty"` + // ResponseParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-responseparameters + ResponseParameters interface{} `json:"ResponseParameters,omitempty"` + // TemplateSelectionExpression AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-templateselectionexpression diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameter.go b/cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameter.go new file mode 100644 index 0000000000..d393bab723 --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameter.go @@ -0,0 +1,40 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Integration_ResponseParameter AWS CloudFormation Resource (AWS::ApiGatewayV2::Integration.ResponseParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameter.html +type Integration_ResponseParameter struct { + + // Destination AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameter.html#cfn-apigatewayv2-integration-responseparameter-destination + Destination string `json:"Destination,omitempty"` + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameter.html#cfn-apigatewayv2-integration-responseparameter-source + Source string `json:"Source,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_ResponseParameter) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::Integration.ResponseParameter" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameterlist.go b/cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameterlist.go new file mode 100644 index 0000000000..95bf5cf9fb --- /dev/null +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-integration_responseparameterlist.go @@ -0,0 +1,35 @@ +package apigatewayv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Integration_ResponseParameterList AWS CloudFormation Resource (AWS::ApiGatewayV2::Integration.ResponseParameterList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html +type Integration_ResponseParameterList struct { + + // ResponseParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html#cfn-apigatewayv2-integration-responseparameterlist-responseparameters + ResponseParameters []Integration_ResponseParameter `json:"ResponseParameters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_ResponseParameterList) AWSCloudFormationType() string { + return "AWS::ApiGatewayV2::Integration.ResponseParameterList" +} diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go b/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go index 9af4d61da8..e865c82cef 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-stage.go @@ -17,6 +17,11 @@ type Stage struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings AccessLogSettings *Stage_AccessLogSettings `json:"AccessLogSettings,omitempty"` + // AccessPolicyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesspolicyid + AccessPolicyId string `json:"AccessPolicyId,omitempty"` + // ApiId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-apiid diff --git a/cloudformation/appflow/aws-appflow-connectorprofile_salesforceconnectorprofilecredentials.go b/cloudformation/appflow/aws-appflow-connectorprofile_salesforceconnectorprofilecredentials.go index 21e668938f..d6982ad9da 100644 --- a/cloudformation/appflow/aws-appflow-connectorprofile_salesforceconnectorprofilecredentials.go +++ b/cloudformation/appflow/aws-appflow-connectorprofile_salesforceconnectorprofilecredentials.go @@ -13,6 +13,11 @@ type ConnectorProfile_SalesforceConnectorProfileCredentials struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html#cfn-appflow-connectorprofile-salesforceconnectorprofilecredentials-accesstoken AccessToken string `json:"AccessToken,omitempty"` + // ClientCredentialsArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html#cfn-appflow-connectorprofile-salesforceconnectorprofilecredentials-clientcredentialsarn + ClientCredentialsArn string `json:"ClientCredentialsArn,omitempty"` + // ConnectorOAuthRequest AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html#cfn-appflow-connectorprofile-salesforceconnectorprofilecredentials-connectoroauthrequest diff --git a/cloudformation/appflow/aws-appflow-flow_destinationconnectorproperties.go b/cloudformation/appflow/aws-appflow-flow_destinationconnectorproperties.go index 8f7c8ce56a..8c58e5d3a4 100644 --- a/cloudformation/appflow/aws-appflow-flow_destinationconnectorproperties.go +++ b/cloudformation/appflow/aws-appflow-flow_destinationconnectorproperties.go @@ -33,6 +33,11 @@ type Flow_DestinationConnectorProperties struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html#cfn-appflow-flow-destinationconnectorproperties-snowflake Snowflake *Flow_SnowflakeDestinationProperties `json:"Snowflake,omitempty"` + // Upsolver AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html#cfn-appflow-flow-destinationconnectorproperties-upsolver + Upsolver *Flow_UpsolverDestinationProperties `json:"Upsolver,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appflow/aws-appflow-flow_idfieldnameslist.go b/cloudformation/appflow/aws-appflow-flow_idfieldnameslist.go new file mode 100644 index 0000000000..027b1103cb --- /dev/null +++ b/cloudformation/appflow/aws-appflow-flow_idfieldnameslist.go @@ -0,0 +1,35 @@ +package appflow + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow_IdFieldNamesList AWS CloudFormation Resource (AWS::AppFlow::Flow.IdFieldNamesList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-idfieldnameslist.html +type Flow_IdFieldNamesList struct { + + // IdFieldNamesList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-idfieldnameslist.html#cfn-appflow-flow-idfieldnameslist-idfieldnameslist + IdFieldNamesList []string `json:"IdFieldNamesList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Flow_IdFieldNamesList) AWSCloudFormationType() string { + return "AWS::AppFlow::Flow.IdFieldNamesList" +} diff --git a/cloudformation/appflow/aws-appflow-flow_incrementalpullconfig.go b/cloudformation/appflow/aws-appflow-flow_incrementalpullconfig.go new file mode 100644 index 0000000000..271eb9d698 --- /dev/null +++ b/cloudformation/appflow/aws-appflow-flow_incrementalpullconfig.go @@ -0,0 +1,35 @@ +package appflow + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow_IncrementalPullConfig AWS CloudFormation Resource (AWS::AppFlow::Flow.IncrementalPullConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-incrementalpullconfig.html +type Flow_IncrementalPullConfig struct { + + // DatetimeTypeFieldName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-incrementalpullconfig.html#cfn-appflow-flow-incrementalpullconfig-datetimetypefieldname + DatetimeTypeFieldName string `json:"DatetimeTypeFieldName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Flow_IncrementalPullConfig) AWSCloudFormationType() string { + return "AWS::AppFlow::Flow.IncrementalPullConfig" +} diff --git a/cloudformation/appflow/aws-appflow-flow_salesforcedestinationproperties.go b/cloudformation/appflow/aws-appflow-flow_salesforcedestinationproperties.go index 7ae3cf1c66..f6f506005f 100644 --- a/cloudformation/appflow/aws-appflow-flow_salesforcedestinationproperties.go +++ b/cloudformation/appflow/aws-appflow-flow_salesforcedestinationproperties.go @@ -13,11 +13,21 @@ type Flow_SalesforceDestinationProperties struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html#cfn-appflow-flow-salesforcedestinationproperties-errorhandlingconfig ErrorHandlingConfig *Flow_ErrorHandlingConfig `json:"ErrorHandlingConfig,omitempty"` + // IdFieldNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html#cfn-appflow-flow-salesforcedestinationproperties-idfieldnames + IdFieldNames *Flow_IdFieldNamesList `json:"IdFieldNames,omitempty"` + // Object AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html#cfn-appflow-flow-salesforcedestinationproperties-object Object string `json:"Object,omitempty"` + // WriteOperationType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html#cfn-appflow-flow-salesforcedestinationproperties-writeoperationtype + WriteOperationType string `json:"WriteOperationType,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appflow/aws-appflow-flow_sourceflowconfig.go b/cloudformation/appflow/aws-appflow-flow_sourceflowconfig.go index fa0224114a..9168112ce4 100644 --- a/cloudformation/appflow/aws-appflow-flow_sourceflowconfig.go +++ b/cloudformation/appflow/aws-appflow-flow_sourceflowconfig.go @@ -18,6 +18,11 @@ type Flow_SourceFlowConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html#cfn-appflow-flow-sourceflowconfig-connectortype ConnectorType string `json:"ConnectorType,omitempty"` + // IncrementalPullConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html#cfn-appflow-flow-sourceflowconfig-incrementalpullconfig + IncrementalPullConfig *Flow_IncrementalPullConfig `json:"IncrementalPullConfig,omitempty"` + // SourceConnectorProperties AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html#cfn-appflow-flow-sourceflowconfig-sourceconnectorproperties diff --git a/cloudformation/appflow/aws-appflow-flow_upsolverdestinationproperties.go b/cloudformation/appflow/aws-appflow-flow_upsolverdestinationproperties.go new file mode 100644 index 0000000000..ae42e9c673 --- /dev/null +++ b/cloudformation/appflow/aws-appflow-flow_upsolverdestinationproperties.go @@ -0,0 +1,45 @@ +package appflow + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow_UpsolverDestinationProperties AWS CloudFormation Resource (AWS::AppFlow::Flow.UpsolverDestinationProperties) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolverdestinationproperties.html +type Flow_UpsolverDestinationProperties struct { + + // BucketName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolverdestinationproperties.html#cfn-appflow-flow-upsolverdestinationproperties-bucketname + BucketName string `json:"BucketName,omitempty"` + + // BucketPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolverdestinationproperties.html#cfn-appflow-flow-upsolverdestinationproperties-bucketprefix + BucketPrefix string `json:"BucketPrefix,omitempty"` + + // S3OutputFormatConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolverdestinationproperties.html#cfn-appflow-flow-upsolverdestinationproperties-s3outputformatconfig + S3OutputFormatConfig *Flow_UpsolverS3OutputFormatConfig `json:"S3OutputFormatConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Flow_UpsolverDestinationProperties) AWSCloudFormationType() string { + return "AWS::AppFlow::Flow.UpsolverDestinationProperties" +} diff --git a/cloudformation/appflow/aws-appflow-flow_upsolvers3outputformatconfig.go b/cloudformation/appflow/aws-appflow-flow_upsolvers3outputformatconfig.go new file mode 100644 index 0000000000..8c286ce42d --- /dev/null +++ b/cloudformation/appflow/aws-appflow-flow_upsolvers3outputformatconfig.go @@ -0,0 +1,45 @@ +package appflow + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow_UpsolverS3OutputFormatConfig AWS CloudFormation Resource (AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolvers3outputformatconfig.html +type Flow_UpsolverS3OutputFormatConfig struct { + + // AggregationConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolvers3outputformatconfig.html#cfn-appflow-flow-upsolvers3outputformatconfig-aggregationconfig + AggregationConfig *Flow_AggregationConfig `json:"AggregationConfig,omitempty"` + + // FileType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolvers3outputformatconfig.html#cfn-appflow-flow-upsolvers3outputformatconfig-filetype + FileType string `json:"FileType,omitempty"` + + // PrefixConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolvers3outputformatconfig.html#cfn-appflow-flow-upsolvers3outputformatconfig-prefixconfig + PrefixConfig *Flow_PrefixConfig `json:"PrefixConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Flow_UpsolverS3OutputFormatConfig) AWSCloudFormationType() string { + return "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" +} diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go b/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go index 90c7d9c558..7571dc7935 100644 --- a/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_configurationdetails.go @@ -18,6 +18,11 @@ type Application_ConfigurationDetails struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-alarms Alarms []Application_Alarm `json:"Alarms,omitempty"` + // JMXPrometheusExporter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-jmxprometheusexporter + JMXPrometheusExporter *Application_JMXPrometheusExporter `json:"JMXPrometheusExporter,omitempty"` + // Logs AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-logs diff --git a/cloudformation/applicationinsights/aws-applicationinsights-application_jmxprometheusexporter.go b/cloudformation/applicationinsights/aws-applicationinsights-application_jmxprometheusexporter.go new file mode 100644 index 0000000000..613db08d55 --- /dev/null +++ b/cloudformation/applicationinsights/aws-applicationinsights-application_jmxprometheusexporter.go @@ -0,0 +1,45 @@ +package applicationinsights + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application_JMXPrometheusExporter AWS CloudFormation Resource (AWS::ApplicationInsights::Application.JMXPrometheusExporter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-jmxprometheusexporter.html +type Application_JMXPrometheusExporter struct { + + // HostPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-jmxprometheusexporter.html#cfn-applicationinsights-application-jmxprometheusexporter-hostport + HostPort string `json:"HostPort,omitempty"` + + // JMXURL AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-jmxprometheusexporter.html#cfn-applicationinsights-application-jmxprometheusexporter-jmxurl + JMXURL string `json:"JMXURL,omitempty"` + + // PrometheusPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-jmxprometheusexporter.html#cfn-applicationinsights-application-jmxprometheusexporter-prometheusport + PrometheusPort string `json:"PrometheusPort,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Application_JMXPrometheusExporter) AWSCloudFormationType() string { + return "AWS::ApplicationInsights::Application.JMXPrometheusExporter" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute.go b/cloudformation/appmesh/aws-appmesh-gatewayroute.go index 055a388be3..13fa759772 100644 --- a/cloudformation/appmesh/aws-appmesh-gatewayroute.go +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute.go @@ -14,7 +14,7 @@ import ( type GatewayRoute struct { // GatewayRouteName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-gatewayroutename GatewayRouteName string `json:"GatewayRouteName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-mesh.go b/cloudformation/appmesh/aws-appmesh-mesh.go index 39a5cbfa96..70d127c8ea 100644 --- a/cloudformation/appmesh/aws-appmesh-mesh.go +++ b/cloudformation/appmesh/aws-appmesh-mesh.go @@ -14,7 +14,7 @@ import ( type Mesh struct { // MeshName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-meshname MeshName string `json:"MeshName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-route.go b/cloudformation/appmesh/aws-appmesh-route.go index bf0306b4ff..4bd49baf93 100644 --- a/cloudformation/appmesh/aws-appmesh-route.go +++ b/cloudformation/appmesh/aws-appmesh-route.go @@ -24,7 +24,7 @@ type Route struct { MeshOwner string `json:"MeshOwner,omitempty"` // RouteName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-routename RouteName string `json:"RouteName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway.go b/cloudformation/appmesh/aws-appmesh-virtualgateway.go index 792696fbf0..aa9032adac 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway.go @@ -34,7 +34,7 @@ type VirtualGateway struct { Tags []tags.Tag `json:"Tags,omitempty"` // VirtualGatewayName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-virtualgatewayname VirtualGatewayName string `json:"VirtualGatewayName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenamematchers.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenamematchers.go new file mode 100644 index 0000000000..03cb6290d8 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenamematchers.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_SubjectAlternativeNameMatchers AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenamematchers.html +type VirtualGateway_SubjectAlternativeNameMatchers struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenamematchers.html#cfn-appmesh-virtualgateway-subjectalternativenamematchers-exact + Exact []string `json:"Exact,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_SubjectAlternativeNameMatchers) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenames.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenames.go new file mode 100644 index 0000000000..1bcfe79eeb --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_subjectalternativenames.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_SubjectAlternativeNames AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.SubjectAlternativeNames) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenames.html +type VirtualGateway_SubjectAlternativeNames struct { + + // Match AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-subjectalternativenames.html#cfn-appmesh-virtualgateway-subjectalternativenames-match + Match *VirtualGateway_SubjectAlternativeNameMatchers `json:"Match,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_SubjectAlternativeNames) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go index 8c0e80d1b4..c56429317d 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclientpolicytls.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html type VirtualGateway_VirtualGatewayClientPolicyTls struct { + // Certificate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-certificate + Certificate *VirtualGateway_VirtualGatewayClientTlsCertificate `json:"Certificate,omitempty"` + // Enforce AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-enforce diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclienttlscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclienttlscertificate.go new file mode 100644 index 0000000000..0ed484434a --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayclienttlscertificate.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayClientTlsCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclienttlscertificate.html +type VirtualGateway_VirtualGatewayClientTlsCertificate struct { + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclienttlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewayclienttlscertificate-file + File *VirtualGateway_VirtualGatewayListenerTlsFileCertificate `json:"File,omitempty"` + + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclienttlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewayclienttlscertificate-sds + SDS *VirtualGateway_VirtualGatewayListenerTlsSdsCertificate `json:"SDS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayClientTlsCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayconnectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayconnectionpool.go new file mode 100644 index 0000000000..438d206659 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayconnectionpool.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html +type VirtualGateway_VirtualGatewayConnectionPool struct { + + // GRPC AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayconnectionpool-grpc + GRPC *VirtualGateway_VirtualGatewayGrpcConnectionPool `json:"GRPC,omitempty"` + + // HTTP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayconnectionpool-http + HTTP *VirtualGateway_VirtualGatewayHttpConnectionPool `json:"HTTP,omitempty"` + + // HTTP2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayconnectionpool-http2 + HTTP2 *VirtualGateway_VirtualGatewayHttp2ConnectionPool `json:"HTTP2,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaygrpcconnectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaygrpcconnectionpool.go new file mode 100644 index 0000000000..2724b92e9c --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaygrpcconnectionpool.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayGrpcConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaygrpcconnectionpool.html +type VirtualGateway_VirtualGatewayGrpcConnectionPool struct { + + // MaxRequests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaygrpcconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewaygrpcconnectionpool-maxrequests + MaxRequests int `json:"MaxRequests"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayGrpcConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttp2connectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttp2connectionpool.go new file mode 100644 index 0000000000..19a72c22bd --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttp2connectionpool.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayHttp2ConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttp2connectionpool.html +type VirtualGateway_VirtualGatewayHttp2ConnectionPool struct { + + // MaxRequests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttp2connectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayhttp2connectionpool-maxrequests + MaxRequests int `json:"MaxRequests"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayHttp2ConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttpconnectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttpconnectionpool.go new file mode 100644 index 0000000000..84a934d202 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewayhttpconnectionpool.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayHttpConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttpconnectionpool.html +type VirtualGateway_VirtualGatewayHttpConnectionPool struct { + + // MaxConnections AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttpconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayhttpconnectionpool-maxconnections + MaxConnections int `json:"MaxConnections"` + + // MaxPendingRequests AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhttpconnectionpool.html#cfn-appmesh-virtualgateway-virtualgatewayhttpconnectionpool-maxpendingrequests + MaxPendingRequests int `json:"MaxPendingRequests,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayHttpConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go index 22dfa37c88..321d01c172 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistener.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html type VirtualGateway_VirtualGatewayListener struct { + // ConnectionPool AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-connectionpool + ConnectionPool *VirtualGateway_VirtualGatewayConnectionPool `json:"ConnectionPool,omitempty"` + // HealthCheck AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-healthcheck diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go index 19681c5715..ebeff887e4 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertls.go @@ -18,6 +18,11 @@ type VirtualGateway_VirtualGatewayListenerTls struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-mode Mode string `json:"Mode,omitempty"` + // Validation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-validation + Validation *VirtualGateway_VirtualGatewayListenerTlsValidationContext `json:"Validation,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go index 348f413ffd..a5c8fe7673 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlscertificate.go @@ -18,6 +18,11 @@ type VirtualGateway_VirtualGatewayListenerTlsCertificate struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-file File *VirtualGateway_VirtualGatewayListenerTlsFileCertificate `json:"File,omitempty"` + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-sds + SDS *VirtualGateway_VirtualGatewayListenerTlsSdsCertificate `json:"SDS,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlssdscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlssdscertificate.go new file mode 100644 index 0000000000..d285b9db84 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlssdscertificate.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListenerTlsSdsCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlssdscertificate.html +type VirtualGateway_VirtualGatewayListenerTlsSdsCertificate struct { + + // SecretName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlssdscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlssdscertificate-secretname + SecretName string `json:"SecretName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListenerTlsSdsCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontext.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontext.go new file mode 100644 index 0000000000..f1a81e43ec --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontext.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListenerTlsValidationContext AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext.html +type VirtualGateway_VirtualGatewayListenerTlsValidationContext struct { + + // SubjectAlternativeNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext-subjectalternativenames + SubjectAlternativeNames *VirtualGateway_SubjectAlternativeNames `json:"SubjectAlternativeNames,omitempty"` + + // Trust AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontext-trust + Trust *VirtualGateway_VirtualGatewayListenerTlsValidationContextTrust `json:"Trust,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListenerTlsValidationContext) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontexttrust.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontexttrust.go new file mode 100644 index 0000000000..3c70887cfa --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaylistenertlsvalidationcontexttrust.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayListenerTlsValidationContextTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust.html +type VirtualGateway_VirtualGatewayListenerTlsValidationContextTrust struct { + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust-file + File *VirtualGateway_VirtualGatewayTlsValidationContextFileTrust `json:"File,omitempty"` + + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsvalidationcontexttrust-sds + SDS *VirtualGateway_VirtualGatewayTlsValidationContextSdsTrust `json:"SDS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayListenerTlsValidationContextTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go index 10ad7afe0d..89c4a9034a 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontext.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html type VirtualGateway_VirtualGatewayTlsValidationContext struct { + // SubjectAlternativeNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext-subjectalternativenames + SubjectAlternativeNames *VirtualGateway_SubjectAlternativeNames `json:"SubjectAlternativeNames,omitempty"` + // Trust AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext-trust diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextsdstrust.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextsdstrust.go new file mode 100644 index 0000000000..3f552a4d13 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontextsdstrust.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualGateway_VirtualGatewayTlsValidationContextSdsTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextsdstrust.html +type VirtualGateway_VirtualGatewayTlsValidationContextSdsTrust struct { + + // SecretName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextsdstrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextsdstrust-secretname + SecretName string `json:"SecretName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualGateway_VirtualGatewayTlsValidationContextSdsTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go index eddc36674b..2d95b4ab3a 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway_virtualgatewaytlsvalidationcontexttrust.go @@ -18,6 +18,11 @@ type VirtualGateway_VirtualGatewayTlsValidationContextTrust struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-file File *VirtualGateway_VirtualGatewayTlsValidationContextFileTrust `json:"File,omitempty"` + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-sds + SDS *VirtualGateway_VirtualGatewayTlsValidationContextSdsTrust `json:"SDS,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode.go b/cloudformation/appmesh/aws-appmesh-virtualnode.go index 06d96857ef..28d4fa1366 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode.go @@ -34,7 +34,7 @@ type VirtualNode struct { Tags []tags.Tag `json:"Tags,omitempty"` // VirtualNodeName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-virtualnodename VirtualNodeName string `json:"VirtualNodeName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go b/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go index 87371b5528..3cedf346b7 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_clientpolicytls.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html type VirtualNode_ClientPolicyTls struct { + // Certificate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-certificate + Certificate *VirtualNode_ClientTlsCertificate `json:"Certificate,omitempty"` + // 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 diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_clienttlscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualnode_clienttlscertificate.go new file mode 100644 index 0000000000..2a24333987 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_clienttlscertificate.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ClientTlsCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ClientTlsCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html +type VirtualNode_ClientTlsCertificate struct { + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html#cfn-appmesh-virtualnode-clienttlscertificate-file + File *VirtualNode_ListenerTlsFileCertificate `json:"File,omitempty"` + + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html#cfn-appmesh-virtualnode-clienttlscertificate-sds + SDS *VirtualNode_ListenerTlsSdsCertificate `json:"SDS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_ClientTlsCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ClientTlsCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go index 1860d884e5..73c6108282 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listener.go @@ -8,11 +8,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html type VirtualNode_Listener struct { + // ConnectionPool AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-connectionpool + ConnectionPool *VirtualNode_VirtualNodeConnectionPool `json:"ConnectionPool,omitempty"` + // HealthCheck AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-healthcheck HealthCheck *VirtualNode_HealthCheck `json:"HealthCheck,omitempty"` + // OutlierDetection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-outlierdetection + OutlierDetection *VirtualNode_OutlierDetection `json:"OutlierDetection,omitempty"` + // PortMapping AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-portmapping diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go index 1f9502fbb5..f7cf70e15a 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertls.go @@ -18,6 +18,11 @@ type VirtualNode_ListenerTls struct { // 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"` + // Validation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-validation + Validation *VirtualNode_ListenerTlsValidationContext `json:"Validation,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go index d407dc9cf6..838a42b81c 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlscertificate.go @@ -18,6 +18,11 @@ type VirtualNode_ListenerTlsCertificate struct { // 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"` + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-sds + SDS *VirtualNode_ListenerTlsSdsCertificate `json:"SDS,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlssdscertificate.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlssdscertificate.go new file mode 100644 index 0000000000..7a978a3f52 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlssdscertificate.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTlsSdsCertificate AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlssdscertificate.html +type VirtualNode_ListenerTlsSdsCertificate struct { + + // SecretName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlssdscertificate.html#cfn-appmesh-virtualnode-listenertlssdscertificate-secretname + SecretName string `json:"SecretName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_ListenerTlsSdsCertificate) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontext.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontext.go new file mode 100644 index 0000000000..492a7e3f5d --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontext.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTlsValidationContext AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTlsValidationContext) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html +type VirtualNode_ListenerTlsValidationContext struct { + + // SubjectAlternativeNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html#cfn-appmesh-virtualnode-listenertlsvalidationcontext-subjectalternativenames + SubjectAlternativeNames *VirtualNode_SubjectAlternativeNames `json:"SubjectAlternativeNames,omitempty"` + + // Trust AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html#cfn-appmesh-virtualnode-listenertlsvalidationcontext-trust + Trust *VirtualNode_ListenerTlsValidationContextTrust `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_ListenerTlsValidationContext) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontexttrust.go b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontexttrust.go new file mode 100644 index 0000000000..5b1f058994 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_listenertlsvalidationcontexttrust.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_ListenerTlsValidationContextTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html +type VirtualNode_ListenerTlsValidationContextTrust struct { + + // File AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-listenertlsvalidationcontexttrust-file + File *VirtualNode_TlsValidationContextFileTrust `json:"File,omitempty"` + + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-listenertlsvalidationcontexttrust-sds + SDS *VirtualNode_TlsValidationContextSdsTrust `json:"SDS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_ListenerTlsValidationContextTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_outlierdetection.go b/cloudformation/appmesh/aws-appmesh-virtualnode_outlierdetection.go new file mode 100644 index 0000000000..69d465311d --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_outlierdetection.go @@ -0,0 +1,50 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_OutlierDetection AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.OutlierDetection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html +type VirtualNode_OutlierDetection struct { + + // BaseEjectionDuration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-baseejectionduration + BaseEjectionDuration *VirtualNode_Duration `json:"BaseEjectionDuration,omitempty"` + + // Interval AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-interval + Interval *VirtualNode_Duration `json:"Interval,omitempty"` + + // MaxEjectionPercent AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-maxejectionpercent + MaxEjectionPercent int `json:"MaxEjectionPercent"` + + // MaxServerErrors AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-maxservererrors + MaxServerErrors int `json:"MaxServerErrors"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_OutlierDetection) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.OutlierDetection" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenamematchers.go b/cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenamematchers.go new file mode 100644 index 0000000000..3581afb9a5 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenamematchers.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_SubjectAlternativeNameMatchers AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenamematchers.html +type VirtualNode_SubjectAlternativeNameMatchers struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenamematchers.html#cfn-appmesh-virtualnode-subjectalternativenamematchers-exact + Exact []string `json:"Exact,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_SubjectAlternativeNameMatchers) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenames.go b/cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenames.go new file mode 100644 index 0000000000..144f754a68 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_subjectalternativenames.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_SubjectAlternativeNames AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.SubjectAlternativeNames) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenames.html +type VirtualNode_SubjectAlternativeNames struct { + + // Match AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenames.html#cfn-appmesh-virtualnode-subjectalternativenames-match + Match *VirtualNode_SubjectAlternativeNameMatchers `json:"Match,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_SubjectAlternativeNames) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.SubjectAlternativeNames" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go index d6ac8febba..534de8d15f 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontext.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html type VirtualNode_TlsValidationContext struct { + // SubjectAlternativeNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html#cfn-appmesh-virtualnode-tlsvalidationcontext-subjectalternativenames + SubjectAlternativeNames *VirtualNode_SubjectAlternativeNames `json:"SubjectAlternativeNames,omitempty"` + // 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 diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextsdstrust.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextsdstrust.go new file mode 100644 index 0000000000..f09a2d3f7a --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontextsdstrust.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_TlsValidationContextSdsTrust AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextsdstrust.html +type VirtualNode_TlsValidationContextSdsTrust struct { + + // SecretName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextsdstrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextsdstrust-secretname + SecretName string `json:"SecretName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_TlsValidationContextSdsTrust) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go index e8f83b4d3c..675da1db63 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_tlsvalidationcontexttrust.go @@ -18,6 +18,11 @@ type VirtualNode_TlsValidationContextTrust struct { // 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"` + // SDS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-sds + SDS *VirtualNode_TlsValidationContextSdsTrust `json:"SDS,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodeconnectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodeconnectionpool.go new file mode 100644 index 0000000000..ee33526eb3 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodeconnectionpool.go @@ -0,0 +1,50 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_VirtualNodeConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html +type VirtualNode_VirtualNodeConnectionPool struct { + + // GRPC AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-grpc + GRPC *VirtualNode_VirtualNodeGrpcConnectionPool `json:"GRPC,omitempty"` + + // HTTP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-http + HTTP *VirtualNode_VirtualNodeHttpConnectionPool `json:"HTTP,omitempty"` + + // HTTP2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-http2 + HTTP2 *VirtualNode_VirtualNodeHttp2ConnectionPool `json:"HTTP2,omitempty"` + + // TCP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-tcp + TCP *VirtualNode_VirtualNodeTcpConnectionPool `json:"TCP,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualNode_VirtualNodeConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodegrpcconnectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodegrpcconnectionpool.go new file mode 100644 index 0000000000..e24b0b2f49 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodegrpcconnectionpool.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_VirtualNodeGrpcConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodegrpcconnectionpool.html +type VirtualNode_VirtualNodeGrpcConnectionPool struct { + + // MaxRequests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodegrpcconnectionpool.html#cfn-appmesh-virtualnode-virtualnodegrpcconnectionpool-maxrequests + MaxRequests int `json:"MaxRequests"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_VirtualNodeGrpcConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttp2connectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttp2connectionpool.go new file mode 100644 index 0000000000..9c99401c97 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttp2connectionpool.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_VirtualNodeHttp2ConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttp2connectionpool.html +type VirtualNode_VirtualNodeHttp2ConnectionPool struct { + + // MaxRequests AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttp2connectionpool.html#cfn-appmesh-virtualnode-virtualnodehttp2connectionpool-maxrequests + MaxRequests int `json:"MaxRequests"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_VirtualNodeHttp2ConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttpconnectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttpconnectionpool.go new file mode 100644 index 0000000000..ba2c7d18a2 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodehttpconnectionpool.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_VirtualNodeHttpConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html +type VirtualNode_VirtualNodeHttpConnectionPool struct { + + // MaxConnections AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodehttpconnectionpool-maxconnections + MaxConnections int `json:"MaxConnections"` + + // MaxPendingRequests AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodehttpconnectionpool-maxpendingrequests + MaxPendingRequests int `json:"MaxPendingRequests,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_VirtualNodeHttpConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodetcpconnectionpool.go b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodetcpconnectionpool.go new file mode 100644 index 0000000000..d175fbd340 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_virtualnodetcpconnectionpool.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualNode_VirtualNodeTcpConnectionPool AWS CloudFormation Resource (AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodetcpconnectionpool.html +type VirtualNode_VirtualNodeTcpConnectionPool struct { + + // MaxConnections AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodetcpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodetcpconnectionpool-maxconnections + MaxConnections int `json:"MaxConnections"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_VirtualNodeTcpConnectionPool) AWSCloudFormationType() string { + return "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualrouter.go b/cloudformation/appmesh/aws-appmesh-virtualrouter.go index 68b6008a30..a4f74f565a 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualrouter.go +++ b/cloudformation/appmesh/aws-appmesh-virtualrouter.go @@ -34,7 +34,7 @@ type VirtualRouter struct { Tags []tags.Tag `json:"Tags,omitempty"` // VirtualRouterName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-virtualroutername VirtualRouterName string `json:"VirtualRouterName,omitempty"` diff --git a/cloudformation/athena/aws-athena-datacatalog.go b/cloudformation/athena/aws-athena-datacatalog.go index d43f0e935e..4a02f72299 100644 --- a/cloudformation/athena/aws-athena-datacatalog.go +++ b/cloudformation/athena/aws-athena-datacatalog.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // DataCatalog AWS CloudFormation Resource (AWS::Athena::DataCatalog) @@ -30,7 +31,7 @@ type DataCatalog struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-tags - Tags *DataCatalog_Tags `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // Type AWS CloudFormation Property // Required: true diff --git a/cloudformation/athena/aws-athena-workgroup.go b/cloudformation/athena/aws-athena-workgroup.go index e0020b8fa0..8f97009197 100644 --- a/cloudformation/athena/aws-athena-workgroup.go +++ b/cloudformation/athena/aws-athena-workgroup.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // WorkGroup AWS CloudFormation Resource (AWS::Athena::WorkGroup) @@ -35,7 +36,7 @@ type WorkGroup struct { // 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"` + Tags []tags.Tag `json:"Tags,omitempty"` // WorkGroupConfiguration AWS CloudFormation Property // Required: false diff --git a/cloudformation/athena/aws-athena-workgroup_engineversion.go b/cloudformation/athena/aws-athena-workgroup_engineversion.go new file mode 100644 index 0000000000..2279cfab94 --- /dev/null +++ b/cloudformation/athena/aws-athena-workgroup_engineversion.go @@ -0,0 +1,40 @@ +package athena + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WorkGroup_EngineVersion AWS CloudFormation Resource (AWS::Athena::WorkGroup.EngineVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html +type WorkGroup_EngineVersion struct { + + // EffectiveEngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html#cfn-athena-workgroup-engineversion-effectiveengineversion + EffectiveEngineVersion string `json:"EffectiveEngineVersion,omitempty"` + + // SelectedEngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html#cfn-athena-workgroup-engineversion-selectedengineversion + SelectedEngineVersion string `json:"SelectedEngineVersion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_EngineVersion) AWSCloudFormationType() string { + return "AWS::Athena::WorkGroup.EngineVersion" +} diff --git a/cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go b/cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go index 268048c43f..a489ec7b11 100644 --- a/cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go +++ b/cloudformation/athena/aws-athena-workgroup_workgroupconfiguration.go @@ -18,6 +18,11 @@ type WorkGroup_WorkGroupConfiguration struct { // 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"` + // EngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-engineversion + EngineVersion *WorkGroup_EngineVersion `json:"EngineVersion,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 diff --git a/cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go b/cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go index 247a9175ed..6bb1be9d87 100644 --- a/cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go +++ b/cloudformation/athena/aws-athena-workgroup_workgroupconfigurationupdates.go @@ -18,6 +18,11 @@ type WorkGroup_WorkGroupConfigurationUpdates struct { // 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"` + // EngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-engineversion + EngineVersion *WorkGroup_EngineVersion `json:"EngineVersion,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 diff --git a/cloudformation/auditmanager/aws-auditmanager-assessment.go b/cloudformation/auditmanager/aws-auditmanager-assessment.go new file mode 100644 index 0000000000..a3f9855ab6 --- /dev/null +++ b/cloudformation/auditmanager/aws-auditmanager-assessment.go @@ -0,0 +1,147 @@ +package auditmanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Assessment AWS CloudFormation Resource (AWS::AuditManager::Assessment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html +type Assessment struct { + + // AssessmentReportsDestination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-assessmentreportsdestination + AssessmentReportsDestination *Assessment_AssessmentReportsDestination `json:"AssessmentReportsDestination,omitempty"` + + // AwsAccount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-awsaccount + AwsAccount *Assessment_AWSAccount `json:"AwsAccount,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-description + Description string `json:"Description,omitempty"` + + // FrameworkId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-frameworkid + FrameworkId string `json:"FrameworkId,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-name + Name string `json:"Name,omitempty"` + + // Roles AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-roles + Roles []Assessment_Role `json:"Roles,omitempty"` + + // Scope AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-scope + Scope *Assessment_Scope `json:"Scope,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-status + Status string `json:"Status,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html#cfn-auditmanager-assessment-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 *Assessment) AWSCloudFormationType() string { + return "AWS::AuditManager::Assessment" +} + +// 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 Assessment) MarshalJSON() ([]byte, error) { + type Properties Assessment + return json.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 *Assessment) UnmarshalJSON(b []byte) error { + type Properties Assessment + 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 = Assessment(*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/auditmanager/aws-auditmanager-assessment_assessmentreportsdestination.go b/cloudformation/auditmanager/aws-auditmanager-assessment_assessmentreportsdestination.go new file mode 100644 index 0000000000..b2b7344a32 --- /dev/null +++ b/cloudformation/auditmanager/aws-auditmanager-assessment_assessmentreportsdestination.go @@ -0,0 +1,40 @@ +package auditmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Assessment_AssessmentReportsDestination AWS CloudFormation Resource (AWS::AuditManager::Assessment.AssessmentReportsDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-assessmentreportsdestination.html +type Assessment_AssessmentReportsDestination struct { + + // Destination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-assessmentreportsdestination.html#cfn-auditmanager-assessment-assessmentreportsdestination-destination + Destination string `json:"Destination,omitempty"` + + // DestinationType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-assessmentreportsdestination.html#cfn-auditmanager-assessment-assessmentreportsdestination-destinationtype + DestinationType string `json:"DestinationType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Assessment_AssessmentReportsDestination) AWSCloudFormationType() string { + return "AWS::AuditManager::Assessment.AssessmentReportsDestination" +} diff --git a/cloudformation/auditmanager/aws-auditmanager-assessment_awsaccount.go b/cloudformation/auditmanager/aws-auditmanager-assessment_awsaccount.go new file mode 100644 index 0000000000..33de7ae3e8 --- /dev/null +++ b/cloudformation/auditmanager/aws-auditmanager-assessment_awsaccount.go @@ -0,0 +1,45 @@ +package auditmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Assessment_AWSAccount AWS CloudFormation Resource (AWS::AuditManager::Assessment.AWSAccount) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-awsaccount.html +type Assessment_AWSAccount struct { + + // EmailAddress AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-awsaccount.html#cfn-auditmanager-assessment-awsaccount-emailaddress + EmailAddress string `json:"EmailAddress,omitempty"` + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-awsaccount.html#cfn-auditmanager-assessment-awsaccount-id + Id string `json:"Id,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-awsaccount.html#cfn-auditmanager-assessment-awsaccount-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 *Assessment_AWSAccount) AWSCloudFormationType() string { + return "AWS::AuditManager::Assessment.AWSAccount" +} diff --git a/cloudformation/auditmanager/aws-auditmanager-assessment_awsservice.go b/cloudformation/auditmanager/aws-auditmanager-assessment_awsservice.go new file mode 100644 index 0000000000..4453a3ac23 --- /dev/null +++ b/cloudformation/auditmanager/aws-auditmanager-assessment_awsservice.go @@ -0,0 +1,35 @@ +package auditmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Assessment_AWSService AWS CloudFormation Resource (AWS::AuditManager::Assessment.AWSService) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-awsservice.html +type Assessment_AWSService struct { + + // ServiceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-awsservice.html#cfn-auditmanager-assessment-awsservice-servicename + ServiceName string `json:"ServiceName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Assessment_AWSService) AWSCloudFormationType() string { + return "AWS::AuditManager::Assessment.AWSService" +} diff --git a/cloudformation/auditmanager/aws-auditmanager-assessment_delegation.go b/cloudformation/auditmanager/aws-auditmanager-assessment_delegation.go new file mode 100644 index 0000000000..316d9d2b2b --- /dev/null +++ b/cloudformation/auditmanager/aws-auditmanager-assessment_delegation.go @@ -0,0 +1,85 @@ +package auditmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Assessment_Delegation AWS CloudFormation Resource (AWS::AuditManager::Assessment.Delegation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html +type Assessment_Delegation struct { + + // AssessmentId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-assessmentid + AssessmentId string `json:"AssessmentId,omitempty"` + + // AssessmentName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-assessmentname + AssessmentName string `json:"AssessmentName,omitempty"` + + // Comment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-comment + Comment string `json:"Comment,omitempty"` + + // ControlSetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-controlsetid + ControlSetId string `json:"ControlSetId,omitempty"` + + // CreatedBy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-createdby + CreatedBy string `json:"CreatedBy,omitempty"` + + // CreationTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-creationtime + CreationTime float64 `json:"CreationTime,omitempty"` + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-id + Id string `json:"Id,omitempty"` + + // LastUpdated AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-lastupdated + LastUpdated float64 `json:"LastUpdated,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // RoleType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-roletype + RoleType string `json:"RoleType,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-delegation.html#cfn-auditmanager-assessment-delegation-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 *Assessment_Delegation) AWSCloudFormationType() string { + return "AWS::AuditManager::Assessment.Delegation" +} diff --git a/cloudformation/auditmanager/aws-auditmanager-assessment_role.go b/cloudformation/auditmanager/aws-auditmanager-assessment_role.go new file mode 100644 index 0000000000..14e2393714 --- /dev/null +++ b/cloudformation/auditmanager/aws-auditmanager-assessment_role.go @@ -0,0 +1,40 @@ +package auditmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Assessment_Role AWS CloudFormation Resource (AWS::AuditManager::Assessment.Role) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-role.html +type Assessment_Role struct { + + // RoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-role.html#cfn-auditmanager-assessment-role-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // RoleType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-role.html#cfn-auditmanager-assessment-role-roletype + RoleType string `json:"RoleType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Assessment_Role) AWSCloudFormationType() string { + return "AWS::AuditManager::Assessment.Role" +} diff --git a/cloudformation/auditmanager/aws-auditmanager-assessment_scope.go b/cloudformation/auditmanager/aws-auditmanager-assessment_scope.go new file mode 100644 index 0000000000..dd814f6e1a --- /dev/null +++ b/cloudformation/auditmanager/aws-auditmanager-assessment_scope.go @@ -0,0 +1,40 @@ +package auditmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Assessment_Scope AWS CloudFormation Resource (AWS::AuditManager::Assessment.Scope) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-scope.html +type Assessment_Scope struct { + + // AwsAccounts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-scope.html#cfn-auditmanager-assessment-scope-awsaccounts + AwsAccounts []Assessment_AWSAccount `json:"AwsAccounts,omitempty"` + + // AwsServices AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessment-scope.html#cfn-auditmanager-assessment-scope-awsservices + AwsServices []Assessment_AWSService `json:"AwsServices,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Assessment_Scope) AWSCloudFormationType() string { + return "AWS::AuditManager::Assessment.Scope" +} diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go index a9929c9348..d25e3ab9e4 100644 --- a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration.go @@ -80,7 +80,7 @@ type LaunchConfiguration struct { // MetadataOptions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-autoscaling-launchconfig-metadataoptions - MetadataOptions *LaunchConfiguration_MetadataOption `json:"MetadataOptions,omitempty"` + MetadataOptions *LaunchConfiguration_MetadataOptions `json:"MetadataOptions,omitempty"` // PlacementTenancy AWS CloudFormation Property // Required: false diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoptions.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoptions.go new file mode 100644 index 0000000000..2f61bf3944 --- /dev/null +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_metadataoptions.go @@ -0,0 +1,45 @@ +package autoscaling + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LaunchConfiguration_MetadataOptions AWS CloudFormation Resource (AWS::AutoScaling::LaunchConfiguration.MetadataOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoptions.html +type LaunchConfiguration_MetadataOptions struct { + + // HttpEndpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoptions.html#cfn-autoscaling-launchconfig-metadataoptions-httpendpoint + HttpEndpoint string `json:"HttpEndpoint,omitempty"` + + // HttpPutResponseHopLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoptions.html#cfn-autoscaling-launchconfig-metadataoptions-httpputresponsehoplimit + HttpPutResponseHopLimit int `json:"HttpPutResponseHopLimit,omitempty"` + + // HttpTokens AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfig-metadataoptions.html#cfn-autoscaling-launchconfig-metadataoptions-httptokens + HttpTokens string `json:"HttpTokens,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LaunchConfiguration_MetadataOptions) AWSCloudFormationType() string { + return "AWS::AutoScaling::LaunchConfiguration.MetadataOptions" +} diff --git a/cloudformation/backup/aws-backup-backupvault.go b/cloudformation/backup/aws-backup-backupvault.go index 8f1aaa7161..3f2d79e601 100644 --- a/cloudformation/backup/aws-backup-backupvault.go +++ b/cloudformation/backup/aws-backup-backupvault.go @@ -25,7 +25,7 @@ type BackupVault struct { // BackupVaultTags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-backupvaulttags - BackupVaultTags interface{} `json:"BackupVaultTags,omitempty"` + BackupVaultTags map[string]string `json:"BackupVaultTags,omitempty"` // EncryptionKeyArn AWS CloudFormation Property // Required: false diff --git a/cloudformation/batch/aws-batch-computeenvironment_computeresources.go b/cloudformation/batch/aws-batch-computeenvironment_computeresources.go index 1cb371917a..44955fac5d 100644 --- a/cloudformation/batch/aws-batch-computeenvironment_computeresources.go +++ b/cloudformation/batch/aws-batch-computeenvironment_computeresources.go @@ -23,6 +23,11 @@ type ComputeEnvironment_ComputeResources struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-desiredvcpus DesiredvCpus int `json:"DesiredvCpus,omitempty"` + // Ec2Configuration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-ec2configuration + Ec2Configuration []ComputeEnvironment_Ec2ConfigurationObject `json:"Ec2Configuration,omitempty"` + // Ec2KeyPair AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-ec2keypair @@ -34,12 +39,12 @@ type ComputeEnvironment_ComputeResources struct { ImageId string `json:"ImageId,omitempty"` // InstanceRole AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-instancerole InstanceRole string `json:"InstanceRole,omitempty"` // InstanceTypes AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-instancetypes InstanceTypes []string `json:"InstanceTypes,omitempty"` @@ -54,9 +59,9 @@ type ComputeEnvironment_ComputeResources struct { MaxvCpus int `json:"MaxvCpus"` // MinvCpus AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-minvcpus - MinvCpus int `json:"MinvCpus"` + MinvCpus int `json:"MinvCpus,omitempty"` // PlacementGroup AWS CloudFormation Property // Required: false diff --git a/cloudformation/batch/aws-batch-computeenvironment_ec2configurationobject.go b/cloudformation/batch/aws-batch-computeenvironment_ec2configurationobject.go new file mode 100644 index 0000000000..bad15c5430 --- /dev/null +++ b/cloudformation/batch/aws-batch-computeenvironment_ec2configurationobject.go @@ -0,0 +1,40 @@ +package batch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComputeEnvironment_Ec2ConfigurationObject AWS CloudFormation Resource (AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html +type ComputeEnvironment_Ec2ConfigurationObject struct { + + // ImageIdOverride AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html#cfn-batch-computeenvironment-ec2configurationobject-imageidoverride + ImageIdOverride string `json:"ImageIdOverride,omitempty"` + + // ImageType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html#cfn-batch-computeenvironment-ec2configurationobject-imagetype + ImageType string `json:"ImageType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComputeEnvironment_Ec2ConfigurationObject) AWSCloudFormationType() string { + return "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition.go b/cloudformation/batch/aws-batch-jobdefinition.go index 82f41c3f42..edc98bb189 100644 --- a/cloudformation/batch/aws-batch-jobdefinition.go +++ b/cloudformation/batch/aws-batch-jobdefinition.go @@ -32,6 +32,16 @@ type JobDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-parameters Parameters interface{} `json:"Parameters,omitempty"` + // PlatformCapabilities AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-platformcapabilities + PlatformCapabilities []string `json:"PlatformCapabilities,omitempty"` + + // PropagateTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-propagatetags + PropagateTags bool `json:"PropagateTags,omitempty"` + // RetryStrategy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-retrystrategy diff --git a/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go b/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go index a28f013031..7f3c81b21d 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go +++ b/cloudformation/batch/aws-batch-jobdefinition_containerproperties.go @@ -23,6 +23,11 @@ type JobDefinition_ContainerProperties struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-executionrolearn ExecutionRoleArn string `json:"ExecutionRoleArn,omitempty"` + // FargatePlatformConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-fargateplatformconfiguration + FargatePlatformConfiguration *JobDefinition_FargatePlatformConfiguration `json:"FargatePlatformConfiguration,omitempty"` + // Image AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-image @@ -58,6 +63,11 @@ type JobDefinition_ContainerProperties struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-mountpoints MountPoints []JobDefinition_MountPoints `json:"MountPoints,omitempty"` + // NetworkConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-networkconfiguration + NetworkConfiguration *JobDefinition_NetworkConfiguration `json:"NetworkConfiguration,omitempty"` + // Privileged AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-privileged diff --git a/cloudformation/batch/aws-batch-jobdefinition_evaluateonexit.go b/cloudformation/batch/aws-batch-jobdefinition_evaluateonexit.go new file mode 100644 index 0000000000..656b6fa7ca --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_evaluateonexit.go @@ -0,0 +1,50 @@ +package batch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// JobDefinition_EvaluateOnExit AWS CloudFormation Resource (AWS::Batch::JobDefinition.EvaluateOnExit) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-evaluateonexit.html +type JobDefinition_EvaluateOnExit struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-evaluateonexit.html#cfn-batch-jobdefinition-evaluateonexit-action + Action string `json:"Action,omitempty"` + + // OnExitCode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-evaluateonexit.html#cfn-batch-jobdefinition-evaluateonexit-onexitcode + OnExitCode string `json:"OnExitCode,omitempty"` + + // OnReason AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-evaluateonexit.html#cfn-batch-jobdefinition-evaluateonexit-onreason + OnReason string `json:"OnReason,omitempty"` + + // OnStatusReason AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-evaluateonexit.html#cfn-batch-jobdefinition-evaluateonexit-onstatusreason + OnStatusReason string `json:"OnStatusReason,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *JobDefinition_EvaluateOnExit) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.EvaluateOnExit" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_fargateplatformconfiguration.go b/cloudformation/batch/aws-batch-jobdefinition_fargateplatformconfiguration.go new file mode 100644 index 0000000000..ec51ff912c --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_fargateplatformconfiguration.go @@ -0,0 +1,35 @@ +package batch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// JobDefinition_FargatePlatformConfiguration AWS CloudFormation Resource (AWS::Batch::JobDefinition.FargatePlatformConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-fargateplatformconfiguration.html +type JobDefinition_FargatePlatformConfiguration struct { + + // PlatformVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-fargateplatformconfiguration.html#cfn-batch-jobdefinition-containerproperties-fargateplatformconfiguration-platformversion + PlatformVersion string `json:"PlatformVersion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *JobDefinition_FargatePlatformConfiguration) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.FargatePlatformConfiguration" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_networkconfiguration.go b/cloudformation/batch/aws-batch-jobdefinition_networkconfiguration.go new file mode 100644 index 0000000000..150191415b --- /dev/null +++ b/cloudformation/batch/aws-batch-jobdefinition_networkconfiguration.go @@ -0,0 +1,35 @@ +package batch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// JobDefinition_NetworkConfiguration AWS CloudFormation Resource (AWS::Batch::JobDefinition.NetworkConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-networkconfiguration.html +type JobDefinition_NetworkConfiguration struct { + + // AssignPublicIp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-networkconfiguration.html#cfn-batch-jobdefinition-containerproperties-networkconfiguration-assignpublicip + AssignPublicIp string `json:"AssignPublicIp,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *JobDefinition_NetworkConfiguration) AWSCloudFormationType() string { + return "AWS::Batch::JobDefinition.NetworkConfiguration" +} diff --git a/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go b/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go index 57f61d68ff..4b598ca10b 100644 --- a/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go +++ b/cloudformation/batch/aws-batch-jobdefinition_retrystrategy.go @@ -13,6 +13,11 @@ type JobDefinition_RetryStrategy struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html#cfn-batch-jobdefinition-retrystrategy-attempts Attempts int `json:"Attempts,omitempty"` + // EvaluateOnExit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html#cfn-batch-jobdefinition-retrystrategy-evaluateonexit + EvaluateOnExit []JobDefinition_EvaluateOnExit `json:"EvaluateOnExit,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/cassandra/aws-cassandra-keyspace.go b/cloudformation/cassandra/aws-cassandra-keyspace.go index cfcddcb589..0f1e587762 100644 --- a/cloudformation/cassandra/aws-cassandra-keyspace.go +++ b/cloudformation/cassandra/aws-cassandra-keyspace.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Keyspace AWS CloudFormation Resource (AWS::Cassandra::Keyspace) @@ -17,6 +18,11 @@ type Keyspace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename KeyspaceName string `json:"KeyspaceName,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/cassandra/aws-cassandra-table.go b/cloudformation/cassandra/aws-cassandra-table.go index d717ba5529..6f30e37c88 100644 --- a/cloudformation/cassandra/aws-cassandra-table.go +++ b/cloudformation/cassandra/aws-cassandra-table.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Table AWS CloudFormation Resource (AWS::Cassandra::Table) @@ -32,6 +33,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns PartitionKeyColumns []Table_Column `json:"PartitionKeyColumns,omitempty"` + // PointInTimeRecoveryEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-pointintimerecoveryenabled + PointInTimeRecoveryEnabled bool `json:"PointInTimeRecoveryEnabled,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 @@ -42,6 +48,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename TableName string `json:"TableName,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/cloud9/aws-cloud9-environmentec2.go b/cloudformation/cloud9/aws-cloud9-environmentec2.go index bdfed17064..52b1776a6a 100644 --- a/cloudformation/cloud9/aws-cloud9-environmentec2.go +++ b/cloudformation/cloud9/aws-cloud9-environmentec2.go @@ -28,6 +28,11 @@ type EnvironmentEC2 struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-description Description string `json:"Description,omitempty"` + // ImageId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-imageid + ImageId string `json:"ImageId,omitempty"` + // InstanceType AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-instancetype diff --git a/cloudformation/cloudformation/aws-cloudformation-customresource.go b/cloudformation/cloudformation/aws-cloudformation-customresource.go index 1cd4a5e2d2..ab6c0e4bcb 100644 --- a/cloudformation/cloudformation/aws-cloudformation-customresource.go +++ b/cloudformation/cloudformation/aws-cloudformation-customresource.go @@ -11,6 +11,7 @@ import ( // CustomResource AWS CloudFormation Resource (AWS::CloudFormation::CustomResource) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html type CustomResource struct { + // Properties AWS CloudFormation Property // Required: false // See: diff --git a/cloudformation/cloudformation/aws-cloudformation-moduledefaultversion.go b/cloudformation/cloudformation/aws-cloudformation-moduledefaultversion.go new file mode 100644 index 0000000000..16151e18d7 --- /dev/null +++ b/cloudformation/cloudformation/aws-cloudformation-moduledefaultversion.go @@ -0,0 +1,116 @@ +package cloudformation + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModuleDefaultVersion AWS CloudFormation Resource (AWS::CloudFormation::ModuleDefaultVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html +type ModuleDefaultVersion struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-arn + Arn string `json:"Arn,omitempty"` + + // ModuleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-modulename + ModuleName string `json:"ModuleName,omitempty"` + + // VersionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-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:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModuleDefaultVersion) AWSCloudFormationType() string { + return "AWS::CloudFormation::ModuleDefaultVersion" +} + +// 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 ModuleDefaultVersion) MarshalJSON() ([]byte, error) { + type Properties ModuleDefaultVersion + return json.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 *ModuleDefaultVersion) UnmarshalJSON(b []byte) error { + type Properties ModuleDefaultVersion + 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 = ModuleDefaultVersion(*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/cloudformation/aws-cloudformation-moduleversion.go b/cloudformation/cloudformation/aws-cloudformation-moduleversion.go new file mode 100644 index 0000000000..8490e25b57 --- /dev/null +++ b/cloudformation/cloudformation/aws-cloudformation-moduleversion.go @@ -0,0 +1,111 @@ +package cloudformation + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModuleVersion AWS CloudFormation Resource (AWS::CloudFormation::ModuleVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html +type ModuleVersion struct { + + // ModuleName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html#cfn-cloudformation-moduleversion-modulename + ModuleName string `json:"ModuleName,omitempty"` + + // ModulePackage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html#cfn-cloudformation-moduleversion-modulepackage + ModulePackage string `json:"ModulePackage,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModuleVersion) AWSCloudFormationType() string { + return "AWS::CloudFormation::ModuleVersion" +} + +// 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 ModuleVersion) MarshalJSON() ([]byte, error) { + type Properties ModuleVersion + return json.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 *ModuleVersion) UnmarshalJSON(b []byte) error { + type Properties ModuleVersion + 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 = ModuleVersion(*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/cloudformation/aws-cloudformation-resourcedefaultversion.go b/cloudformation/cloudformation/aws-cloudformation-resourcedefaultversion.go new file mode 100644 index 0000000000..975f5a6768 --- /dev/null +++ b/cloudformation/cloudformation/aws-cloudformation-resourcedefaultversion.go @@ -0,0 +1,116 @@ +package cloudformation + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceDefaultVersion AWS CloudFormation Resource (AWS::CloudFormation::ResourceDefaultVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html +type ResourceDefaultVersion struct { + + // TypeName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html#cfn-cloudformation-resourcedefaultversion-typename + TypeName string `json:"TypeName,omitempty"` + + // TypeVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html#cfn-cloudformation-resourcedefaultversion-typeversionarn + TypeVersionArn string `json:"TypeVersionArn,omitempty"` + + // VersionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html#cfn-cloudformation-resourcedefaultversion-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:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceDefaultVersion) AWSCloudFormationType() string { + return "AWS::CloudFormation::ResourceDefaultVersion" +} + +// 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 ResourceDefaultVersion) MarshalJSON() ([]byte, error) { + type Properties ResourceDefaultVersion + return json.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 *ResourceDefaultVersion) UnmarshalJSON(b []byte) error { + type Properties ResourceDefaultVersion + 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 = ResourceDefaultVersion(*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/cloudformation/aws-cloudformation-resourceversion.go b/cloudformation/cloudformation/aws-cloudformation-resourceversion.go new file mode 100644 index 0000000000..c37f2baec2 --- /dev/null +++ b/cloudformation/cloudformation/aws-cloudformation-resourceversion.go @@ -0,0 +1,121 @@ +package cloudformation + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceVersion AWS CloudFormation Resource (AWS::CloudFormation::ResourceVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html +type ResourceVersion struct { + + // ExecutionRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html#cfn-cloudformation-resourceversion-executionrolearn + ExecutionRoleArn string `json:"ExecutionRoleArn,omitempty"` + + // LoggingConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html#cfn-cloudformation-resourceversion-loggingconfig + LoggingConfig *ResourceVersion_LoggingConfig `json:"LoggingConfig,omitempty"` + + // SchemaHandlerPackage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html#cfn-cloudformation-resourceversion-schemahandlerpackage + SchemaHandlerPackage string `json:"SchemaHandlerPackage,omitempty"` + + // TypeName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html#cfn-cloudformation-resourceversion-typename + TypeName string `json:"TypeName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceVersion) AWSCloudFormationType() string { + return "AWS::CloudFormation::ResourceVersion" +} + +// 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 ResourceVersion) MarshalJSON() ([]byte, error) { + type Properties ResourceVersion + return json.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 *ResourceVersion) UnmarshalJSON(b []byte) error { + type Properties ResourceVersion + 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 = ResourceVersion(*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/cloudformation/aws-cloudformation-resourceversion_loggingconfig.go b/cloudformation/cloudformation/aws-cloudformation-resourceversion_loggingconfig.go new file mode 100644 index 0000000000..b91733dd89 --- /dev/null +++ b/cloudformation/cloudformation/aws-cloudformation-resourceversion_loggingconfig.go @@ -0,0 +1,40 @@ +package cloudformation + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceVersion_LoggingConfig AWS CloudFormation Resource (AWS::CloudFormation::ResourceVersion.LoggingConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-resourceversion-loggingconfig.html +type ResourceVersion_LoggingConfig struct { + + // LogGroupName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-resourceversion-loggingconfig.html#cfn-cloudformation-resourceversion-loggingconfig-loggroupname + LogGroupName string `json:"LogGroupName,omitempty"` + + // LogRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-resourceversion-loggingconfig.html#cfn-cloudformation-resourceversion-loggingconfig-logrolearn + LogRoleArn string `json:"LogRoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceVersion_LoggingConfig) AWSCloudFormationType() string { + return "AWS::CloudFormation::ResourceVersion.LoggingConfig" +} diff --git a/cloudformation/cloudformation/aws-cloudformation-stackset.go b/cloudformation/cloudformation/aws-cloudformation-stackset.go index 08738d8c5c..bf9be14efe 100644 --- a/cloudformation/cloudformation/aws-cloudformation-stackset.go +++ b/cloudformation/cloudformation/aws-cloudformation-stackset.go @@ -49,7 +49,7 @@ type StackSet struct { Parameters []StackSet_Parameter `json:"Parameters,omitempty"` // PermissionModel AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-permissionmodel PermissionModel string `json:"PermissionModel,omitempty"` @@ -59,7 +59,7 @@ type StackSet struct { StackInstancesGroup []StackSet_StackInstances `json:"StackInstancesGroup,omitempty"` // StackSetName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-stacksetname StackSetName string `json:"StackSetName,omitempty"` diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go b/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go index 996ec846fa..ae7cd6d967 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_cachebehavior.go @@ -83,6 +83,11 @@ type Distribution_CacheBehavior struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-targetoriginid TargetOriginId string `json:"TargetOriginId,omitempty"` + // TrustedKeyGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-trustedkeygroups + TrustedKeyGroups []string `json:"TrustedKeyGroups,omitempty"` + // TrustedSigners AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-trustedsigners diff --git a/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go b/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go index d88b52a869..bad698a116 100644 --- a/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go +++ b/cloudformation/cloudfront/aws-cloudfront-distribution_defaultcachebehavior.go @@ -78,6 +78,11 @@ type Distribution_DefaultCacheBehavior struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid TargetOriginId string `json:"TargetOriginId,omitempty"` + // TrustedKeyGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedkeygroups + TrustedKeyGroups []string `json:"TrustedKeyGroups,omitempty"` + // TrustedSigners AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners diff --git a/cloudformation/cloudfront/aws-cloudfront-keygroup.go b/cloudformation/cloudfront/aws-cloudfront-keygroup.go new file mode 100644 index 0000000000..92b2ca2396 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-keygroup.go @@ -0,0 +1,106 @@ +package cloudfront + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// KeyGroup AWS CloudFormation Resource (AWS::CloudFront::KeyGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html +type KeyGroup struct { + + // KeyGroupConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html#cfn-cloudfront-keygroup-keygroupconfig + KeyGroupConfig *KeyGroup_KeyGroupConfig `json:"KeyGroupConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *KeyGroup) AWSCloudFormationType() string { + return "AWS::CloudFront::KeyGroup" +} + +// 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 KeyGroup) MarshalJSON() ([]byte, error) { + type Properties KeyGroup + return json.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 *KeyGroup) UnmarshalJSON(b []byte) error { + type Properties KeyGroup + 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 = KeyGroup(*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/cloudfront/aws-cloudfront-keygroup_keygroupconfig.go b/cloudformation/cloudfront/aws-cloudfront-keygroup_keygroupconfig.go new file mode 100644 index 0000000000..4ec8d67e14 --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-keygroup_keygroupconfig.go @@ -0,0 +1,45 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// KeyGroup_KeyGroupConfig AWS CloudFormation Resource (AWS::CloudFront::KeyGroup.KeyGroupConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html +type KeyGroup_KeyGroupConfig struct { + + // Comment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html#cfn-cloudfront-keygroup-keygroupconfig-comment + Comment string `json:"Comment,omitempty"` + + // Items AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html#cfn-cloudfront-keygroup-keygroupconfig-items + Items []string `json:"Items,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html#cfn-cloudfront-keygroup-keygroupconfig-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 *KeyGroup_KeyGroupConfig) AWSCloudFormationType() string { + return "AWS::CloudFront::KeyGroup.KeyGroupConfig" +} diff --git a/cloudformation/cloudfront/aws-cloudfront-publickey.go b/cloudformation/cloudfront/aws-cloudfront-publickey.go new file mode 100644 index 0000000000..af98d54fba --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-publickey.go @@ -0,0 +1,106 @@ +package cloudfront + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PublicKey AWS CloudFormation Resource (AWS::CloudFront::PublicKey) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html +type PublicKey struct { + + // PublicKeyConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html#cfn-cloudfront-publickey-publickeyconfig + PublicKeyConfig *PublicKey_PublicKeyConfig `json:"PublicKeyConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PublicKey) AWSCloudFormationType() string { + return "AWS::CloudFront::PublicKey" +} + +// 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 PublicKey) MarshalJSON() ([]byte, error) { + type Properties PublicKey + return json.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 *PublicKey) UnmarshalJSON(b []byte) error { + type Properties PublicKey + 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 = PublicKey(*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/cloudfront/aws-cloudfront-publickey_publickeyconfig.go b/cloudformation/cloudfront/aws-cloudfront-publickey_publickeyconfig.go new file mode 100644 index 0000000000..70f7eeff8b --- /dev/null +++ b/cloudformation/cloudfront/aws-cloudfront-publickey_publickeyconfig.go @@ -0,0 +1,50 @@ +package cloudfront + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// PublicKey_PublicKeyConfig AWS CloudFormation Resource (AWS::CloudFront::PublicKey.PublicKeyConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html +type PublicKey_PublicKeyConfig struct { + + // CallerReference AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-callerreference + CallerReference string `json:"CallerReference,omitempty"` + + // Comment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-comment + Comment string `json:"Comment,omitempty"` + + // EncodedKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-encodedkey + EncodedKey string `json:"EncodedKey,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-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 *PublicKey_PublicKeyConfig) AWSCloudFormationType() string { + return "AWS::CloudFront::PublicKey.PublicKeyConfig" +} diff --git a/cloudformation/cloudwatch/aws-cloudwatch-metricstream.go b/cloudformation/cloudwatch/aws-cloudwatch-metricstream.go new file mode 100644 index 0000000000..0a943e818c --- /dev/null +++ b/cloudformation/cloudwatch/aws-cloudwatch-metricstream.go @@ -0,0 +1,137 @@ +package cloudwatch + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// MetricStream AWS CloudFormation Resource (AWS::CloudWatch::MetricStream) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html +type MetricStream struct { + + // ExcludeFilters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-excludefilters + ExcludeFilters []MetricStream_MetricStreamFilter `json:"ExcludeFilters,omitempty"` + + // FirehoseArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-firehosearn + FirehoseArn string `json:"FirehoseArn,omitempty"` + + // IncludeFilters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-includefilters + IncludeFilters []MetricStream_MetricStreamFilter `json:"IncludeFilters,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-name + Name string `json:"Name,omitempty"` + + // OutputFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-outputformat + OutputFormat string `json:"OutputFormat,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-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 *MetricStream) AWSCloudFormationType() string { + return "AWS::CloudWatch::MetricStream" +} + +// 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 MetricStream) MarshalJSON() ([]byte, error) { + type Properties MetricStream + return json.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 *MetricStream) UnmarshalJSON(b []byte) error { + type Properties MetricStream + 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 = MetricStream(*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-metricstream_metricstreamfilter.go b/cloudformation/cloudwatch/aws-cloudwatch-metricstream_metricstreamfilter.go new file mode 100644 index 0000000000..58c5534e5f --- /dev/null +++ b/cloudformation/cloudwatch/aws-cloudwatch-metricstream_metricstreamfilter.go @@ -0,0 +1,35 @@ +package cloudwatch + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MetricStream_MetricStreamFilter AWS CloudFormation Resource (AWS::CloudWatch::MetricStream.MetricStreamFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-metricstream-metricstreamfilter.html +type MetricStream_MetricStreamFilter struct { + + // Namespace AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-metricstream-metricstreamfilter.html#cfn-cloudwatch-metricstream-metricstreamfilter-namespace + Namespace string `json:"Namespace,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MetricStream_MetricStreamFilter) AWSCloudFormationType() string { + return "AWS::CloudWatch::MetricStream.MetricStreamFilter" +} diff --git a/cloudformation/codeartifact/aws-codeartifact-domain.go b/cloudformation/codeartifact/aws-codeartifact-domain.go index 8b36163656..dad1b56300 100644 --- a/cloudformation/codeartifact/aws-codeartifact-domain.go +++ b/cloudformation/codeartifact/aws-codeartifact-domain.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Domain AWS CloudFormation Resource (AWS::CodeArtifact::Domain) @@ -17,11 +18,21 @@ type Domain struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-domainname DomainName string `json:"DomainName,omitempty"` + // EncryptionKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-encryptionkey + EncryptionKey string `json:"EncryptionKey,omitempty"` + // PermissionsPolicyDocument AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-permissionspolicydocument PermissionsPolicyDocument interface{} `json:"PermissionsPolicyDocument,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/codeartifact/aws-codeartifact-repository.go b/cloudformation/codeartifact/aws-codeartifact-repository.go index 326be95beb..31f56b4b94 100644 --- a/cloudformation/codeartifact/aws-codeartifact-repository.go +++ b/cloudformation/codeartifact/aws-codeartifact-repository.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Repository AWS CloudFormation Resource (AWS::CodeArtifact::Repository) @@ -17,6 +18,16 @@ type Repository struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-description Description string `json:"Description,omitempty"` + // DomainName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-domainname + DomainName string `json:"DomainName,omitempty"` + + // DomainOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-domainowner + DomainOwner string `json:"DomainOwner,omitempty"` + // ExternalConnections AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-externalconnections @@ -32,6 +43,11 @@ type Repository struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-repositoryname RepositoryName string `json:"RepositoryName,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // Upstreams AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-upstreams diff --git a/cloudformation/codebuild/aws-codebuild-project.go b/cloudformation/codebuild/aws-codebuild-project.go index 23d247d8f6..3283eb7922 100644 --- a/cloudformation/codebuild/aws-codebuild-project.go +++ b/cloudformation/codebuild/aws-codebuild-project.go @@ -33,6 +33,11 @@ type Project struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-cache Cache *Project_ProjectCache `json:"Cache,omitempty"` + // ConcurrentBuildLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-concurrentbuildlimit + ConcurrentBuildLimit int `json:"ConcurrentBuildLimit,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-description diff --git a/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go b/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go index a5426ea1b6..3080a7c2b7 100644 --- a/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go +++ b/cloudformation/codebuild/aws-codebuild-reportgroup_s3reportexportconfig.go @@ -13,6 +13,11 @@ type ReportGroup_S3ReportExportConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-bucket Bucket string `json:"Bucket,omitempty"` + // BucketOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-bucketowner + BucketOwner string `json:"BucketOwner,omitempty"` + // EncryptionDisabled AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-encryptiondisabled diff --git a/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go b/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go index aa6ee828bf..2667b4ef96 100644 --- a/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go +++ b/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // RepositoryAssociation AWS CloudFormation Resource (AWS::CodeGuruReviewer::RepositoryAssociation) @@ -27,6 +28,11 @@ type RepositoryAssociation struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-owner Owner string `json:"Owner,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // Type AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-type diff --git a/cloudformation/codestar/aws-codestar-githubrepository.go b/cloudformation/codestar/aws-codestar-githubrepository.go index 37e260b0d5..2e82580193 100644 --- a/cloudformation/codestar/aws-codestar-githubrepository.go +++ b/cloudformation/codestar/aws-codestar-githubrepository.go @@ -17,6 +17,11 @@ type GitHubRepository struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-code Code *GitHubRepository_Code `json:"Code,omitempty"` + // ConnectionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-connectionarn + ConnectionArn string `json:"ConnectionArn,omitempty"` + // EnableIssues AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-enableissues @@ -28,7 +33,7 @@ type GitHubRepository struct { IsPrivate bool `json:"IsPrivate,omitempty"` // RepositoryAccessToken AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryaccesstoken RepositoryAccessToken string `json:"RepositoryAccessToken,omitempty"` diff --git a/cloudformation/cognito/aws-cognito-userpool_customemailsender.go b/cloudformation/cognito/aws-cognito-userpool_customemailsender.go new file mode 100644 index 0000000000..0ee9b8f848 --- /dev/null +++ b/cloudformation/cognito/aws-cognito-userpool_customemailsender.go @@ -0,0 +1,40 @@ +package cognito + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserPool_CustomEmailSender AWS CloudFormation Resource (AWS::Cognito::UserPool.CustomEmailSender) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html +type UserPool_CustomEmailSender struct { + + // LambdaArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html#cfn-cognito-userpool-customemailsender-lambdaarn + LambdaArn string `json:"LambdaArn,omitempty"` + + // LambdaVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html#cfn-cognito-userpool-customemailsender-lambdaversion + LambdaVersion string `json:"LambdaVersion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserPool_CustomEmailSender) AWSCloudFormationType() string { + return "AWS::Cognito::UserPool.CustomEmailSender" +} diff --git a/cloudformation/cognito/aws-cognito-userpool_customsmssender.go b/cloudformation/cognito/aws-cognito-userpool_customsmssender.go new file mode 100644 index 0000000000..c790376b3b --- /dev/null +++ b/cloudformation/cognito/aws-cognito-userpool_customsmssender.go @@ -0,0 +1,40 @@ +package cognito + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserPool_CustomSMSSender AWS CloudFormation Resource (AWS::Cognito::UserPool.CustomSMSSender) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html +type UserPool_CustomSMSSender struct { + + // LambdaArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html#cfn-cognito-userpool-customsmssender-lambdaarn + LambdaArn string `json:"LambdaArn,omitempty"` + + // LambdaVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html#cfn-cognito-userpool-customsmssender-lambdaversion + LambdaVersion string `json:"LambdaVersion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserPool_CustomSMSSender) AWSCloudFormationType() string { + return "AWS::Cognito::UserPool.CustomSMSSender" +} diff --git a/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go b/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go index 05b33f2986..e447b81acb 100644 --- a/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go +++ b/cloudformation/cognito/aws-cognito-userpool_lambdaconfig.go @@ -13,16 +13,31 @@ type UserPool_LambdaConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-createauthchallenge CreateAuthChallenge string `json:"CreateAuthChallenge,omitempty"` + // CustomEmailSender AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-customemailsender + CustomEmailSender *UserPool_CustomEmailSender `json:"CustomEmailSender,omitempty"` + // CustomMessage AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-custommessage CustomMessage string `json:"CustomMessage,omitempty"` + // CustomSMSSender AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-customsmssender + CustomSMSSender *UserPool_CustomSMSSender `json:"CustomSMSSender,omitempty"` + // DefineAuthChallenge AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-defineauthchallenge DefineAuthChallenge string `json:"DefineAuthChallenge,omitempty"` + // KMSKeyID AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-kmskeyid + KMSKeyID string `json:"KMSKeyID,omitempty"` + // PostAuthentication AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postauthentication diff --git a/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go b/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go index 309fa681e3..2a87de251d 100644 --- a/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html type UserPoolClient_AnalyticsConfiguration struct { + // ApplicationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationarn + ApplicationArn string `json:"ApplicationArn,omitempty"` + // ApplicationId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationid diff --git a/cloudformation/config/aws-config-storedquery.go b/cloudformation/config/aws-config-storedquery.go new file mode 100644 index 0000000000..46218a8ee1 --- /dev/null +++ b/cloudformation/config/aws-config-storedquery.go @@ -0,0 +1,122 @@ +package config + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// StoredQuery AWS CloudFormation Resource (AWS::Config::StoredQuery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html +type StoredQuery struct { + + // QueryDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html#cfn-config-storedquery-querydescription + QueryDescription string `json:"QueryDescription,omitempty"` + + // QueryExpression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html#cfn-config-storedquery-queryexpression + QueryExpression string `json:"QueryExpression,omitempty"` + + // QueryName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html#cfn-config-storedquery-queryname + QueryName string `json:"QueryName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html#cfn-config-storedquery-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 *StoredQuery) AWSCloudFormationType() string { + return "AWS::Config::StoredQuery" +} + +// 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 StoredQuery) MarshalJSON() ([]byte, error) { + type Properties StoredQuery + return json.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 *StoredQuery) UnmarshalJSON(b []byte) error { + type Properties StoredQuery + 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 = StoredQuery(*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/databrew/aws-databrew-dataset.go b/cloudformation/databrew/aws-databrew-dataset.go new file mode 100644 index 0000000000..9f9283713b --- /dev/null +++ b/cloudformation/databrew/aws-databrew-dataset.go @@ -0,0 +1,127 @@ +package databrew + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Dataset AWS CloudFormation Resource (AWS::DataBrew::Dataset) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html +type Dataset struct { + + // Format AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html#cfn-databrew-dataset-format + Format string `json:"Format,omitempty"` + + // FormatOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html#cfn-databrew-dataset-formatoptions + FormatOptions interface{} `json:"FormatOptions,omitempty"` + + // Input AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html#cfn-databrew-dataset-input + Input interface{} `json:"Input,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html#cfn-databrew-dataset-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html#cfn-databrew-dataset-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 *Dataset) AWSCloudFormationType() string { + return "AWS::DataBrew::Dataset" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Dataset) UnmarshalJSON(b []byte) error { + type Properties Dataset + 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 = Dataset(*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/databrew/aws-databrew-job.go b/cloudformation/databrew/aws-databrew-job.go new file mode 100644 index 0000000000..a8ec5e285b --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job.go @@ -0,0 +1,182 @@ +package databrew + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Job AWS CloudFormation Resource (AWS::DataBrew::Job) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html +type Job struct { + + // DatasetName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-datasetname + DatasetName string `json:"DatasetName,omitempty"` + + // EncryptionKeyArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-encryptionkeyarn + EncryptionKeyArn string `json:"EncryptionKeyArn,omitempty"` + + // EncryptionMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-encryptionmode + EncryptionMode string `json:"EncryptionMode,omitempty"` + + // JobSample AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-jobsample + JobSample interface{} `json:"JobSample,omitempty"` + + // LogSubscription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-logsubscription + LogSubscription string `json:"LogSubscription,omitempty"` + + // MaxCapacity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-maxcapacity + MaxCapacity int `json:"MaxCapacity,omitempty"` + + // MaxRetries AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-maxretries + MaxRetries int `json:"MaxRetries,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-name + Name string `json:"Name,omitempty"` + + // OutputLocation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-outputlocation + OutputLocation interface{} `json:"OutputLocation,omitempty"` + + // Outputs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-outputs + Outputs []Job_Output `json:"Outputs,omitempty"` + + // ProjectName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-projectname + ProjectName string `json:"ProjectName,omitempty"` + + // Recipe AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-recipe + Recipe interface{} `json:"Recipe,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Timeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-timeout + Timeout int `json:"Timeout,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-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 *Job) AWSCloudFormationType() string { + return "AWS::DataBrew::Job" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Job) UnmarshalJSON(b []byte) error { + type Properties Job + 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 = Job(*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/databrew/aws-databrew-job_csvoutputoptions.go b/cloudformation/databrew/aws-databrew-job_csvoutputoptions.go new file mode 100644 index 0000000000..08b58320ef --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_csvoutputoptions.go @@ -0,0 +1,35 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Job_CsvOutputOptions AWS CloudFormation Resource (AWS::DataBrew::Job.CsvOutputOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-csvoutputoptions.html +type Job_CsvOutputOptions struct { + + // Delimiter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-csvoutputoptions.html#cfn-databrew-job-csvoutputoptions-delimiter + Delimiter string `json:"Delimiter,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Job_CsvOutputOptions) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.CsvOutputOptions" +} diff --git a/cloudformation/databrew/aws-databrew-job_output.go b/cloudformation/databrew/aws-databrew-job_output.go new file mode 100644 index 0000000000..e697f17df7 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_output.go @@ -0,0 +1,60 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Job_Output AWS CloudFormation Resource (AWS::DataBrew::Job.Output) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html +type Job_Output struct { + + // CompressionFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-compressionformat + CompressionFormat string `json:"CompressionFormat,omitempty"` + + // Format AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-format + Format string `json:"Format,omitempty"` + + // FormatOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-formatoptions + FormatOptions *Job_OutputFormatOptions `json:"FormatOptions,omitempty"` + + // Location AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-location + Location *Job_S3Location `json:"Location,omitempty"` + + // Overwrite AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-overwrite + Overwrite bool `json:"Overwrite,omitempty"` + + // PartitionColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-partitioncolumns + PartitionColumns []string `json:"PartitionColumns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Job_Output) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.Output" +} diff --git a/cloudformation/databrew/aws-databrew-job_outputformatoptions.go b/cloudformation/databrew/aws-databrew-job_outputformatoptions.go new file mode 100644 index 0000000000..b124d4d842 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_outputformatoptions.go @@ -0,0 +1,35 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Job_OutputFormatOptions AWS CloudFormation Resource (AWS::DataBrew::Job.OutputFormatOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputformatoptions.html +type Job_OutputFormatOptions struct { + + // Csv AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputformatoptions.html#cfn-databrew-job-outputformatoptions-csv + Csv *Job_CsvOutputOptions `json:"Csv,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Job_OutputFormatOptions) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.OutputFormatOptions" +} diff --git a/cloudformation/databrew/aws-databrew-job_s3location.go b/cloudformation/databrew/aws-databrew-job_s3location.go new file mode 100644 index 0000000000..ca72583b26 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_s3location.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Job_S3Location AWS CloudFormation Resource (AWS::DataBrew::Job.S3Location) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html +type Job_S3Location struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-bucket + Bucket string `json:"Bucket,omitempty"` + + // Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-key + Key string `json:"Key,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Job_S3Location) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.S3Location" +} diff --git a/cloudformation/databrew/aws-databrew-project.go b/cloudformation/databrew/aws-databrew-project.go new file mode 100644 index 0000000000..3ed5b0bde3 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-project.go @@ -0,0 +1,132 @@ +package databrew + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Project AWS CloudFormation Resource (AWS::DataBrew::Project) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html +type Project struct { + + // DatasetName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html#cfn-databrew-project-datasetname + DatasetName string `json:"DatasetName,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html#cfn-databrew-project-name + Name string `json:"Name,omitempty"` + + // RecipeName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html#cfn-databrew-project-recipename + RecipeName string `json:"RecipeName,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html#cfn-databrew-project-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Sample AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html#cfn-databrew-project-sample + Sample interface{} `json:"Sample,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html#cfn-databrew-project-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 *Project) AWSCloudFormationType() string { + return "AWS::DataBrew::Project" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Project) UnmarshalJSON(b []byte) error { + type Properties Project + 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 = Project(*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/databrew/aws-databrew-recipe.go b/cloudformation/databrew/aws-databrew-recipe.go new file mode 100644 index 0000000000..e7b4d03175 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe.go @@ -0,0 +1,122 @@ +package databrew + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Recipe AWS CloudFormation Resource (AWS::DataBrew::Recipe) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html +type Recipe struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html#cfn-databrew-recipe-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html#cfn-databrew-recipe-name + Name string `json:"Name,omitempty"` + + // Steps AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html#cfn-databrew-recipe-steps + Steps []Recipe_RecipeStep `json:"Steps,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html#cfn-databrew-recipe-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 *Recipe) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe" +} + +// 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 Recipe) MarshalJSON() ([]byte, error) { + type Properties Recipe + return json.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 *Recipe) UnmarshalJSON(b []byte) error { + type Properties Recipe + 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 = Recipe(*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/databrew/aws-databrew-recipe_action.go b/cloudformation/databrew/aws-databrew-recipe_action.go new file mode 100644 index 0000000000..00d08bf886 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_action.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Recipe_Action AWS CloudFormation Resource (AWS::DataBrew::Recipe.Action) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-action.html +type Recipe_Action struct { + + // Operation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-action.html#cfn-databrew-recipe-action-operation + Operation string `json:"Operation,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-action.html#cfn-databrew-recipe-action-parameters + Parameters interface{} `json:"Parameters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Recipe_Action) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.Action" +} diff --git a/cloudformation/databrew/aws-databrew-recipe_conditionexpression.go b/cloudformation/databrew/aws-databrew-recipe_conditionexpression.go new file mode 100644 index 0000000000..828d3abba8 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_conditionexpression.go @@ -0,0 +1,45 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Recipe_ConditionExpression AWS CloudFormation Resource (AWS::DataBrew::Recipe.ConditionExpression) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-conditionexpression.html +type Recipe_ConditionExpression struct { + + // Condition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-conditionexpression.html#cfn-databrew-recipe-conditionexpression-condition + Condition string `json:"Condition,omitempty"` + + // TargetColumn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-conditionexpression.html#cfn-databrew-recipe-conditionexpression-targetcolumn + TargetColumn string `json:"TargetColumn,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-conditionexpression.html#cfn-databrew-recipe-conditionexpression-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 *Recipe_ConditionExpression) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.ConditionExpression" +} diff --git a/cloudformation/databrew/aws-databrew-recipe_datacataloginputdefinition.go b/cloudformation/databrew/aws-databrew-recipe_datacataloginputdefinition.go new file mode 100644 index 0000000000..e6ddffb545 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_datacataloginputdefinition.go @@ -0,0 +1,50 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Recipe_DataCatalogInputDefinition AWS CloudFormation Resource (AWS::DataBrew::Recipe.DataCatalogInputDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-datacataloginputdefinition.html +type Recipe_DataCatalogInputDefinition struct { + + // CatalogId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-datacataloginputdefinition.html#cfn-databrew-recipe-datacataloginputdefinition-catalogid + CatalogId string `json:"CatalogId,omitempty"` + + // DatabaseName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-datacataloginputdefinition.html#cfn-databrew-recipe-datacataloginputdefinition-databasename + DatabaseName string `json:"DatabaseName,omitempty"` + + // TableName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-datacataloginputdefinition.html#cfn-databrew-recipe-datacataloginputdefinition-tablename + TableName string `json:"TableName,omitempty"` + + // TempDirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-datacataloginputdefinition.html#cfn-databrew-recipe-datacataloginputdefinition-tempdirectory + TempDirectory *Recipe_S3Location `json:"TempDirectory,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Recipe_DataCatalogInputDefinition) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.DataCatalogInputDefinition" +} diff --git a/cloudformation/databrew/aws-databrew-recipe_recipeparameters.go b/cloudformation/databrew/aws-databrew-recipe_recipeparameters.go new file mode 100644 index 0000000000..3e9487fdd9 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_recipeparameters.go @@ -0,0 +1,535 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Recipe_RecipeParameters AWS CloudFormation Resource (AWS::DataBrew::Recipe.RecipeParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html +type Recipe_RecipeParameters struct { + + // AggregateFunction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-aggregatefunction + AggregateFunction string `json:"AggregateFunction,omitempty"` + + // Base AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-base + Base string `json:"Base,omitempty"` + + // CaseStatement AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-casestatement + CaseStatement string `json:"CaseStatement,omitempty"` + + // CategoryMap AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-categorymap + CategoryMap string `json:"CategoryMap,omitempty"` + + // CharsToRemove AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-charstoremove + CharsToRemove string `json:"CharsToRemove,omitempty"` + + // CollapseConsecutiveWhitespace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-collapseconsecutivewhitespace + CollapseConsecutiveWhitespace string `json:"CollapseConsecutiveWhitespace,omitempty"` + + // ColumnDataType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-columndatatype + ColumnDataType string `json:"ColumnDataType,omitempty"` + + // ColumnRange AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-columnrange + ColumnRange string `json:"ColumnRange,omitempty"` + + // Count AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-count + Count string `json:"Count,omitempty"` + + // CustomCharacters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-customcharacters + CustomCharacters string `json:"CustomCharacters,omitempty"` + + // CustomStopWords AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-customstopwords + CustomStopWords string `json:"CustomStopWords,omitempty"` + + // CustomValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-customvalue + CustomValue string `json:"CustomValue,omitempty"` + + // DatasetsColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-datasetscolumns + DatasetsColumns string `json:"DatasetsColumns,omitempty"` + + // DateAddValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-dateaddvalue + DateAddValue string `json:"DateAddValue,omitempty"` + + // DateTimeFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-datetimeformat + DateTimeFormat string `json:"DateTimeFormat,omitempty"` + + // DateTimeParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-datetimeparameters + DateTimeParameters string `json:"DateTimeParameters,omitempty"` + + // DeleteOtherRows AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-deleteotherrows + DeleteOtherRows string `json:"DeleteOtherRows,omitempty"` + + // Delimiter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-delimiter + Delimiter string `json:"Delimiter,omitempty"` + + // EndPattern AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-endpattern + EndPattern string `json:"EndPattern,omitempty"` + + // EndPosition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-endposition + EndPosition string `json:"EndPosition,omitempty"` + + // EndValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-endvalue + EndValue string `json:"EndValue,omitempty"` + + // ExpandContractions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-expandcontractions + ExpandContractions string `json:"ExpandContractions,omitempty"` + + // Exponent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-exponent + Exponent string `json:"Exponent,omitempty"` + + // FalseString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-falsestring + FalseString string `json:"FalseString,omitempty"` + + // GroupByAggFunctionOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-groupbyaggfunctionoptions + GroupByAggFunctionOptions string `json:"GroupByAggFunctionOptions,omitempty"` + + // GroupByColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-groupbycolumns + GroupByColumns string `json:"GroupByColumns,omitempty"` + + // HiddenColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-hiddencolumns + HiddenColumns string `json:"HiddenColumns,omitempty"` + + // IgnoreCase AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-ignorecase + IgnoreCase string `json:"IgnoreCase,omitempty"` + + // IncludeInSplit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-includeinsplit + IncludeInSplit string `json:"IncludeInSplit,omitempty"` + + // Input AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-input + Input interface{} `json:"Input,omitempty"` + + // Interval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-interval + Interval string `json:"Interval,omitempty"` + + // IsText AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-istext + IsText string `json:"IsText,omitempty"` + + // JoinKeys AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-joinkeys + JoinKeys string `json:"JoinKeys,omitempty"` + + // JoinType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-jointype + JoinType string `json:"JoinType,omitempty"` + + // LeftColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-leftcolumns + LeftColumns string `json:"LeftColumns,omitempty"` + + // Limit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-limit + Limit string `json:"Limit,omitempty"` + + // LowerBound AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-lowerbound + LowerBound string `json:"LowerBound,omitempty"` + + // MapType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-maptype + MapType string `json:"MapType,omitempty"` + + // ModeType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-modetype + ModeType string `json:"ModeType,omitempty"` + + // MultiLine AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-multiline + MultiLine bool `json:"MultiLine,omitempty"` + + // NumRows AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-numrows + NumRows string `json:"NumRows,omitempty"` + + // NumRowsAfter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-numrowsafter + NumRowsAfter string `json:"NumRowsAfter,omitempty"` + + // NumRowsBefore AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-numrowsbefore + NumRowsBefore string `json:"NumRowsBefore,omitempty"` + + // OrderByColumn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-orderbycolumn + OrderByColumn string `json:"OrderByColumn,omitempty"` + + // OrderByColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-orderbycolumns + OrderByColumns string `json:"OrderByColumns,omitempty"` + + // Other AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-other + Other string `json:"Other,omitempty"` + + // Pattern AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-pattern + Pattern string `json:"Pattern,omitempty"` + + // PatternOption1 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-patternoption1 + PatternOption1 string `json:"PatternOption1,omitempty"` + + // PatternOption2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-patternoption2 + PatternOption2 string `json:"PatternOption2,omitempty"` + + // PatternOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-patternoptions + PatternOptions string `json:"PatternOptions,omitempty"` + + // Period AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-period + Period string `json:"Period,omitempty"` + + // Position AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-position + Position string `json:"Position,omitempty"` + + // RemoveAllPunctuation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removeallpunctuation + RemoveAllPunctuation string `json:"RemoveAllPunctuation,omitempty"` + + // RemoveAllQuotes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removeallquotes + RemoveAllQuotes string `json:"RemoveAllQuotes,omitempty"` + + // RemoveAllWhitespace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removeallwhitespace + RemoveAllWhitespace string `json:"RemoveAllWhitespace,omitempty"` + + // RemoveCustomCharacters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removecustomcharacters + RemoveCustomCharacters string `json:"RemoveCustomCharacters,omitempty"` + + // RemoveCustomValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removecustomvalue + RemoveCustomValue string `json:"RemoveCustomValue,omitempty"` + + // RemoveLeadingAndTrailingPunctuation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removeleadingandtrailingpunctuation + RemoveLeadingAndTrailingPunctuation string `json:"RemoveLeadingAndTrailingPunctuation,omitempty"` + + // RemoveLeadingAndTrailingQuotes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removeleadingandtrailingquotes + RemoveLeadingAndTrailingQuotes string `json:"RemoveLeadingAndTrailingQuotes,omitempty"` + + // RemoveLeadingAndTrailingWhitespace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removeleadingandtrailingwhitespace + RemoveLeadingAndTrailingWhitespace string `json:"RemoveLeadingAndTrailingWhitespace,omitempty"` + + // RemoveLetters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removeletters + RemoveLetters string `json:"RemoveLetters,omitempty"` + + // RemoveNumbers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removenumbers + RemoveNumbers string `json:"RemoveNumbers,omitempty"` + + // RemoveSourceColumn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removesourcecolumn + RemoveSourceColumn string `json:"RemoveSourceColumn,omitempty"` + + // RemoveSpecialCharacters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-removespecialcharacters + RemoveSpecialCharacters string `json:"RemoveSpecialCharacters,omitempty"` + + // RightColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-rightcolumns + RightColumns string `json:"RightColumns,omitempty"` + + // SampleSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-samplesize + SampleSize string `json:"SampleSize,omitempty"` + + // SampleType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-sampletype + SampleType string `json:"SampleType,omitempty"` + + // SecondInput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-secondinput + SecondInput string `json:"SecondInput,omitempty"` + + // SecondaryInputs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-secondaryinputs + SecondaryInputs []Recipe_SecondaryInput `json:"SecondaryInputs,omitempty"` + + // SheetIndexes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-sheetindexes + SheetIndexes []int `json:"SheetIndexes,omitempty"` + + // SheetNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-sheetnames + SheetNames []string `json:"SheetNames,omitempty"` + + // SourceColumn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-sourcecolumn + SourceColumn string `json:"SourceColumn,omitempty"` + + // SourceColumn1 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-sourcecolumn1 + SourceColumn1 string `json:"SourceColumn1,omitempty"` + + // SourceColumn2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-sourcecolumn2 + SourceColumn2 string `json:"SourceColumn2,omitempty"` + + // SourceColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-sourcecolumns + SourceColumns string `json:"SourceColumns,omitempty"` + + // StartColumnIndex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-startcolumnindex + StartColumnIndex string `json:"StartColumnIndex,omitempty"` + + // StartPattern AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-startpattern + StartPattern string `json:"StartPattern,omitempty"` + + // StartPosition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-startposition + StartPosition string `json:"StartPosition,omitempty"` + + // StartValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-startvalue + StartValue string `json:"StartValue,omitempty"` + + // StemmingMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-stemmingmode + StemmingMode string `json:"StemmingMode,omitempty"` + + // StepCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-stepcount + StepCount string `json:"StepCount,omitempty"` + + // StepIndex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-stepindex + StepIndex string `json:"StepIndex,omitempty"` + + // StopWordsMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-stopwordsmode + StopWordsMode string `json:"StopWordsMode,omitempty"` + + // Strategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-strategy + Strategy string `json:"Strategy,omitempty"` + + // TargetColumn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-targetcolumn + TargetColumn string `json:"TargetColumn,omitempty"` + + // TargetColumnNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-targetcolumnnames + TargetColumnNames string `json:"TargetColumnNames,omitempty"` + + // TargetDateFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-targetdateformat + TargetDateFormat string `json:"TargetDateFormat,omitempty"` + + // TargetIndex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-targetindex + TargetIndex string `json:"TargetIndex,omitempty"` + + // TimeZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-timezone + TimeZone string `json:"TimeZone,omitempty"` + + // TokenizerPattern AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-tokenizerpattern + TokenizerPattern string `json:"TokenizerPattern,omitempty"` + + // TrueString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-truestring + TrueString string `json:"TrueString,omitempty"` + + // UdfLang AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-udflang + UdfLang string `json:"UdfLang,omitempty"` + + // Units AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-units + Units string `json:"Units,omitempty"` + + // UnpivotColumn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-unpivotcolumn + UnpivotColumn string `json:"UnpivotColumn,omitempty"` + + // UpperBound AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-upperbound + UpperBound string `json:"UpperBound,omitempty"` + + // UseNewDataFrame AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-usenewdataframe + UseNewDataFrame string `json:"UseNewDataFrame,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-value + Value string `json:"Value,omitempty"` + + // Value1 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-value1 + Value1 string `json:"Value1,omitempty"` + + // Value2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-value2 + Value2 string `json:"Value2,omitempty"` + + // ValueColumn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-valuecolumn + ValueColumn string `json:"ValueColumn,omitempty"` + + // ViewFrame AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html#cfn-databrew-recipe-recipeparameters-viewframe + ViewFrame string `json:"ViewFrame,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Recipe_RecipeParameters) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.RecipeParameters" +} diff --git a/cloudformation/databrew/aws-databrew-recipe_recipestep.go b/cloudformation/databrew/aws-databrew-recipe_recipestep.go new file mode 100644 index 0000000000..7d5aa1bc8c --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_recipestep.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Recipe_RecipeStep AWS CloudFormation Resource (AWS::DataBrew::Recipe.RecipeStep) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipestep.html +type Recipe_RecipeStep struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipestep.html#cfn-databrew-recipe-recipestep-action + Action *Recipe_Action `json:"Action,omitempty"` + + // ConditionExpressions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipestep.html#cfn-databrew-recipe-recipestep-conditionexpressions + ConditionExpressions []Recipe_ConditionExpression `json:"ConditionExpressions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Recipe_RecipeStep) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.RecipeStep" +} diff --git a/cloudformation/databrew/aws-databrew-recipe_s3location.go b/cloudformation/databrew/aws-databrew-recipe_s3location.go new file mode 100644 index 0000000000..321118e48a --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_s3location.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Recipe_S3Location AWS CloudFormation Resource (AWS::DataBrew::Recipe.S3Location) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-s3location.html +type Recipe_S3Location struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-s3location.html#cfn-databrew-recipe-s3location-bucket + Bucket string `json:"Bucket,omitempty"` + + // Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-s3location.html#cfn-databrew-recipe-s3location-key + Key string `json:"Key,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Recipe_S3Location) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.S3Location" +} diff --git a/cloudformation/databrew/aws-databrew-recipe_secondaryinput.go b/cloudformation/databrew/aws-databrew-recipe_secondaryinput.go new file mode 100644 index 0000000000..58fdae629c --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_secondaryinput.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Recipe_SecondaryInput AWS CloudFormation Resource (AWS::DataBrew::Recipe.SecondaryInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-secondaryinput.html +type Recipe_SecondaryInput struct { + + // DataCatalogInputDefinition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-secondaryinput.html#cfn-databrew-recipe-secondaryinput-datacataloginputdefinition + DataCatalogInputDefinition *Recipe_DataCatalogInputDefinition `json:"DataCatalogInputDefinition,omitempty"` + + // S3InputDefinition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-secondaryinput.html#cfn-databrew-recipe-secondaryinput-s3inputdefinition + S3InputDefinition *Recipe_S3Location `json:"S3InputDefinition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Recipe_SecondaryInput) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.SecondaryInput" +} diff --git a/cloudformation/databrew/aws-databrew-schedule.go b/cloudformation/databrew/aws-databrew-schedule.go new file mode 100644 index 0000000000..c838263bba --- /dev/null +++ b/cloudformation/databrew/aws-databrew-schedule.go @@ -0,0 +1,122 @@ +package databrew + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Schedule AWS CloudFormation Resource (AWS::DataBrew::Schedule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html +type Schedule struct { + + // CronExpression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html#cfn-databrew-schedule-cronexpression + CronExpression string `json:"CronExpression,omitempty"` + + // JobNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html#cfn-databrew-schedule-jobnames + JobNames []string `json:"JobNames,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html#cfn-databrew-schedule-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html#cfn-databrew-schedule-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 *Schedule) AWSCloudFormationType() string { + return "AWS::DataBrew::Schedule" +} + +// 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 Schedule) MarshalJSON() ([]byte, error) { + type Properties Schedule + return json.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 *Schedule) UnmarshalJSON(b []byte) error { + type Properties Schedule + 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 = Schedule(*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/datasync/aws-datasync-agent.go b/cloudformation/datasync/aws-datasync-agent.go new file mode 100644 index 0000000000..b0fca5fac5 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-agent.go @@ -0,0 +1,132 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Agent AWS CloudFormation Resource (AWS::DataSync::Agent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html +type Agent struct { + + // ActivationKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-activationkey + ActivationKey string `json:"ActivationKey,omitempty"` + + // AgentName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-agentname + AgentName string `json:"AgentName,omitempty"` + + // SecurityGroupArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-securitygrouparns + SecurityGroupArns []string `json:"SecurityGroupArns,omitempty"` + + // SubnetArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-subnetarns + SubnetArns []string `json:"SubnetArns,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VpcEndpointId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-vpcendpointid + VpcEndpointId string `json:"VpcEndpointId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Agent) AWSCloudFormationType() string { + return "AWS::DataSync::Agent" +} + +// 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 Agent) MarshalJSON() ([]byte, error) { + type Properties Agent + return json.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 *Agent) UnmarshalJSON(b []byte) error { + type Properties Agent + 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 = Agent(*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/datasync/aws-datasync-locationefs.go b/cloudformation/datasync/aws-datasync-locationefs.go new file mode 100644 index 0000000000..2a615e82e6 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationefs.go @@ -0,0 +1,122 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// LocationEFS AWS CloudFormation Resource (AWS::DataSync::LocationEFS) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html +type LocationEFS struct { + + // Ec2Config AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-ec2config + Ec2Config *LocationEFS_Ec2Config `json:"Ec2Config,omitempty"` + + // EfsFilesystemArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-efsfilesystemarn + EfsFilesystemArn string `json:"EfsFilesystemArn,omitempty"` + + // Subdirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-subdirectory + Subdirectory string `json:"Subdirectory,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-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 *LocationEFS) AWSCloudFormationType() string { + return "AWS::DataSync::LocationEFS" +} + +// 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 LocationEFS) MarshalJSON() ([]byte, error) { + type Properties LocationEFS + return json.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 *LocationEFS) UnmarshalJSON(b []byte) error { + type Properties LocationEFS + 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 = LocationEFS(*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/datasync/aws-datasync-locationefs_ec2config.go b/cloudformation/datasync/aws-datasync-locationefs_ec2config.go new file mode 100644 index 0000000000..bde3a76738 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationefs_ec2config.go @@ -0,0 +1,40 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LocationEFS_Ec2Config AWS CloudFormation Resource (AWS::DataSync::LocationEFS.Ec2Config) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html +type LocationEFS_Ec2Config struct { + + // SecurityGroupArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html#cfn-datasync-locationefs-ec2config-securitygrouparns + SecurityGroupArns []string `json:"SecurityGroupArns,omitempty"` + + // SubnetArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html#cfn-datasync-locationefs-ec2config-subnetarn + SubnetArn string `json:"SubnetArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationEFS_Ec2Config) AWSCloudFormationType() string { + return "AWS::DataSync::LocationEFS.Ec2Config" +} diff --git a/cloudformation/datasync/aws-datasync-locationfsxwindows.go b/cloudformation/datasync/aws-datasync-locationfsxwindows.go new file mode 100644 index 0000000000..4749f81bfb --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationfsxwindows.go @@ -0,0 +1,137 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// LocationFSxWindows AWS CloudFormation Resource (AWS::DataSync::LocationFSxWindows) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html +type LocationFSxWindows struct { + + // Domain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html#cfn-datasync-locationfsxwindows-domain + Domain string `json:"Domain,omitempty"` + + // FsxFilesystemArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html#cfn-datasync-locationfsxwindows-fsxfilesystemarn + FsxFilesystemArn string `json:"FsxFilesystemArn,omitempty"` + + // Password AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html#cfn-datasync-locationfsxwindows-password + Password string `json:"Password,omitempty"` + + // SecurityGroupArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html#cfn-datasync-locationfsxwindows-securitygrouparns + SecurityGroupArns []string `json:"SecurityGroupArns,omitempty"` + + // Subdirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html#cfn-datasync-locationfsxwindows-subdirectory + Subdirectory string `json:"Subdirectory,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html#cfn-datasync-locationfsxwindows-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // User AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html#cfn-datasync-locationfsxwindows-user + User string `json:"User,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationFSxWindows) AWSCloudFormationType() string { + return "AWS::DataSync::LocationFSxWindows" +} + +// 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 LocationFSxWindows) MarshalJSON() ([]byte, error) { + type Properties LocationFSxWindows + return json.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 *LocationFSxWindows) UnmarshalJSON(b []byte) error { + type Properties LocationFSxWindows + 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 = LocationFSxWindows(*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/datasync/aws-datasync-locationnfs.go b/cloudformation/datasync/aws-datasync-locationnfs.go new file mode 100644 index 0000000000..9ada80481d --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationnfs.go @@ -0,0 +1,127 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// LocationNFS AWS CloudFormation Resource (AWS::DataSync::LocationNFS) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html +type LocationNFS struct { + + // MountOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html#cfn-datasync-locationnfs-mountoptions + MountOptions *LocationNFS_MountOptions `json:"MountOptions,omitempty"` + + // OnPremConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html#cfn-datasync-locationnfs-onpremconfig + OnPremConfig *LocationNFS_OnPremConfig `json:"OnPremConfig,omitempty"` + + // ServerHostname AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html#cfn-datasync-locationnfs-serverhostname + ServerHostname string `json:"ServerHostname,omitempty"` + + // Subdirectory AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html#cfn-datasync-locationnfs-subdirectory + Subdirectory string `json:"Subdirectory,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html#cfn-datasync-locationnfs-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 *LocationNFS) AWSCloudFormationType() string { + return "AWS::DataSync::LocationNFS" +} + +// 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 LocationNFS) MarshalJSON() ([]byte, error) { + type Properties LocationNFS + return json.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 *LocationNFS) UnmarshalJSON(b []byte) error { + type Properties LocationNFS + 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 = LocationNFS(*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/datasync/aws-datasync-locationnfs_mountoptions.go b/cloudformation/datasync/aws-datasync-locationnfs_mountoptions.go new file mode 100644 index 0000000000..2f0c4f82e7 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationnfs_mountoptions.go @@ -0,0 +1,35 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LocationNFS_MountOptions AWS CloudFormation Resource (AWS::DataSync::LocationNFS.MountOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationnfs-mountoptions.html +type LocationNFS_MountOptions struct { + + // Version AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationnfs-mountoptions.html#cfn-datasync-locationnfs-mountoptions-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 *LocationNFS_MountOptions) AWSCloudFormationType() string { + return "AWS::DataSync::LocationNFS.MountOptions" +} diff --git a/cloudformation/datasync/aws-datasync-locationnfs_onpremconfig.go b/cloudformation/datasync/aws-datasync-locationnfs_onpremconfig.go new file mode 100644 index 0000000000..b8753b57b6 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationnfs_onpremconfig.go @@ -0,0 +1,35 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LocationNFS_OnPremConfig AWS CloudFormation Resource (AWS::DataSync::LocationNFS.OnPremConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationnfs-onpremconfig.html +type LocationNFS_OnPremConfig struct { + + // AgentArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationnfs-onpremconfig.html#cfn-datasync-locationnfs-onpremconfig-agentarns + AgentArns []string `json:"AgentArns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationNFS_OnPremConfig) AWSCloudFormationType() string { + return "AWS::DataSync::LocationNFS.OnPremConfig" +} diff --git a/cloudformation/datasync/aws-datasync-locationobjectstorage.go b/cloudformation/datasync/aws-datasync-locationobjectstorage.go new file mode 100644 index 0000000000..fc96b0f694 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationobjectstorage.go @@ -0,0 +1,147 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// LocationObjectStorage AWS CloudFormation Resource (AWS::DataSync::LocationObjectStorage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html +type LocationObjectStorage struct { + + // AccessKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-accesskey + AccessKey string `json:"AccessKey,omitempty"` + + // AgentArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-agentarns + AgentArns []string `json:"AgentArns,omitempty"` + + // BucketName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-bucketname + BucketName string `json:"BucketName,omitempty"` + + // SecretKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-secretkey + SecretKey string `json:"SecretKey,omitempty"` + + // ServerHostname AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverhostname + ServerHostname string `json:"ServerHostname,omitempty"` + + // ServerPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverport + ServerPort int `json:"ServerPort,omitempty"` + + // ServerProtocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverprotocol + ServerProtocol string `json:"ServerProtocol,omitempty"` + + // Subdirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-subdirectory + Subdirectory string `json:"Subdirectory,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-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 *LocationObjectStorage) AWSCloudFormationType() string { + return "AWS::DataSync::LocationObjectStorage" +} + +// 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 LocationObjectStorage) MarshalJSON() ([]byte, error) { + type Properties LocationObjectStorage + return json.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 *LocationObjectStorage) UnmarshalJSON(b []byte) error { + type Properties LocationObjectStorage + 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 = LocationObjectStorage(*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/datasync/aws-datasync-locations3.go b/cloudformation/datasync/aws-datasync-locations3.go new file mode 100644 index 0000000000..5acbf360ca --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locations3.go @@ -0,0 +1,127 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// LocationS3 AWS CloudFormation Resource (AWS::DataSync::LocationS3) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html +type LocationS3 struct { + + // S3BucketArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html#cfn-datasync-locations3-s3bucketarn + S3BucketArn string `json:"S3BucketArn,omitempty"` + + // S3Config AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html#cfn-datasync-locations3-s3config + S3Config *LocationS3_S3Config `json:"S3Config,omitempty"` + + // S3StorageClass AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html#cfn-datasync-locations3-s3storageclass + S3StorageClass string `json:"S3StorageClass,omitempty"` + + // Subdirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html#cfn-datasync-locations3-subdirectory + Subdirectory string `json:"Subdirectory,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html#cfn-datasync-locations3-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 *LocationS3) AWSCloudFormationType() string { + return "AWS::DataSync::LocationS3" +} + +// 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 LocationS3) MarshalJSON() ([]byte, error) { + type Properties LocationS3 + return json.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 *LocationS3) UnmarshalJSON(b []byte) error { + type Properties LocationS3 + 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 = LocationS3(*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/datasync/aws-datasync-locations3_s3config.go b/cloudformation/datasync/aws-datasync-locations3_s3config.go new file mode 100644 index 0000000000..de163604b2 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locations3_s3config.go @@ -0,0 +1,35 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LocationS3_S3Config AWS CloudFormation Resource (AWS::DataSync::LocationS3.S3Config) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locations3-s3config.html +type LocationS3_S3Config struct { + + // BucketAccessRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locations3-s3config.html#cfn-datasync-locations3-s3config-bucketaccessrolearn + BucketAccessRoleArn string `json:"BucketAccessRoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationS3_S3Config) AWSCloudFormationType() string { + return "AWS::DataSync::LocationS3.S3Config" +} diff --git a/cloudformation/datasync/aws-datasync-locationsmb.go b/cloudformation/datasync/aws-datasync-locationsmb.go new file mode 100644 index 0000000000..c919639ace --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationsmb.go @@ -0,0 +1,142 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// LocationSMB AWS CloudFormation Resource (AWS::DataSync::LocationSMB) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html +type LocationSMB struct { + + // AgentArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-agentarns + AgentArns []string `json:"AgentArns,omitempty"` + + // Domain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-domain + Domain string `json:"Domain,omitempty"` + + // MountOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-mountoptions + MountOptions *LocationSMB_MountOptions `json:"MountOptions,omitempty"` + + // Password AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-password + Password string `json:"Password,omitempty"` + + // ServerHostname AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-serverhostname + ServerHostname string `json:"ServerHostname,omitempty"` + + // Subdirectory AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-subdirectory + Subdirectory string `json:"Subdirectory,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // User AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-user + User string `json:"User,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationSMB) AWSCloudFormationType() string { + return "AWS::DataSync::LocationSMB" +} + +// 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 LocationSMB) MarshalJSON() ([]byte, error) { + type Properties LocationSMB + return json.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 *LocationSMB) UnmarshalJSON(b []byte) error { + type Properties LocationSMB + 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 = LocationSMB(*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/datasync/aws-datasync-locationsmb_mountoptions.go b/cloudformation/datasync/aws-datasync-locationsmb_mountoptions.go new file mode 100644 index 0000000000..40e37fe106 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationsmb_mountoptions.go @@ -0,0 +1,35 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LocationSMB_MountOptions AWS CloudFormation Resource (AWS::DataSync::LocationSMB.MountOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-mountoptions.html +type LocationSMB_MountOptions struct { + + // Version AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-mountoptions.html#cfn-datasync-locationsmb-mountoptions-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 *LocationSMB_MountOptions) AWSCloudFormationType() string { + return "AWS::DataSync::LocationSMB.MountOptions" +} diff --git a/cloudformation/datasync/aws-datasync-task.go b/cloudformation/datasync/aws-datasync-task.go new file mode 100644 index 0000000000..23adb33c79 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task.go @@ -0,0 +1,142 @@ +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Task AWS CloudFormation Resource (AWS::DataSync::Task) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html +type Task struct { + + // CloudWatchLogGroupArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-cloudwatchloggrouparn + CloudWatchLogGroupArn string `json:"CloudWatchLogGroupArn,omitempty"` + + // DestinationLocationArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-destinationlocationarn + DestinationLocationArn string `json:"DestinationLocationArn,omitempty"` + + // Excludes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-excludes + Excludes []Task_FilterRule `json:"Excludes,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-name + Name string `json:"Name,omitempty"` + + // Options AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-options + Options *Task_Options `json:"Options,omitempty"` + + // Schedule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-schedule + Schedule *Task_TaskSchedule `json:"Schedule,omitempty"` + + // SourceLocationArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-sourcelocationarn + SourceLocationArn string `json:"SourceLocationArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-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 *Task) AWSCloudFormationType() string { + return "AWS::DataSync::Task" +} + +// 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 Task) MarshalJSON() ([]byte, error) { + type Properties Task + return json.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 *Task) UnmarshalJSON(b []byte) error { + type Properties Task + 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 = Task(*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/datasync/aws-datasync-task_filterrule.go b/cloudformation/datasync/aws-datasync-task_filterrule.go new file mode 100644 index 0000000000..6fcc28b1d4 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task_filterrule.go @@ -0,0 +1,40 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Task_FilterRule AWS CloudFormation Resource (AWS::DataSync::Task.FilterRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-filterrule.html +type Task_FilterRule struct { + + // FilterType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-filterrule.html#cfn-datasync-task-filterrule-filtertype + FilterType string `json:"FilterType,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-filterrule.html#cfn-datasync-task-filterrule-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 *Task_FilterRule) AWSCloudFormationType() string { + return "AWS::DataSync::Task.FilterRule" +} diff --git a/cloudformation/datasync/aws-datasync-task_options.go b/cloudformation/datasync/aws-datasync-task_options.go new file mode 100644 index 0000000000..8d8c13198e --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task_options.go @@ -0,0 +1,95 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Task_Options AWS CloudFormation Resource (AWS::DataSync::Task.Options) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html +type Task_Options struct { + + // Atime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-atime + Atime string `json:"Atime,omitempty"` + + // BytesPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-bytespersecond + BytesPerSecond int `json:"BytesPerSecond,omitempty"` + + // Gid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-gid + Gid string `json:"Gid,omitempty"` + + // LogLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-loglevel + LogLevel string `json:"LogLevel,omitempty"` + + // Mtime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-mtime + Mtime string `json:"Mtime,omitempty"` + + // OverwriteMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-overwritemode + OverwriteMode string `json:"OverwriteMode,omitempty"` + + // PosixPermissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-posixpermissions + PosixPermissions string `json:"PosixPermissions,omitempty"` + + // PreserveDeletedFiles AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-preservedeletedfiles + PreserveDeletedFiles string `json:"PreserveDeletedFiles,omitempty"` + + // PreserveDevices AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-preservedevices + PreserveDevices string `json:"PreserveDevices,omitempty"` + + // TaskQueueing AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-taskqueueing + TaskQueueing string `json:"TaskQueueing,omitempty"` + + // TransferMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-transfermode + TransferMode string `json:"TransferMode,omitempty"` + + // Uid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-uid + Uid string `json:"Uid,omitempty"` + + // VerifyMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-verifymode + VerifyMode string `json:"VerifyMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Task_Options) AWSCloudFormationType() string { + return "AWS::DataSync::Task.Options" +} diff --git a/cloudformation/datasync/aws-datasync-task_taskschedule.go b/cloudformation/datasync/aws-datasync-task_taskschedule.go new file mode 100644 index 0000000000..093cfdc556 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-task_taskschedule.go @@ -0,0 +1,35 @@ +package datasync + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Task_TaskSchedule AWS CloudFormation Resource (AWS::DataSync::Task.TaskSchedule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html +type Task_TaskSchedule struct { + + // ScheduleExpression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html#cfn-datasync-task-taskschedule-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 *Task_TaskSchedule) AWSCloudFormationType() string { + return "AWS::DataSync::Task.TaskSchedule" +} diff --git a/cloudformation/detective/aws-detective-memberinvitation.go b/cloudformation/detective/aws-detective-memberinvitation.go index 92a710e19a..b175120f19 100644 --- a/cloudformation/detective/aws-detective-memberinvitation.go +++ b/cloudformation/detective/aws-detective-memberinvitation.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html type MemberInvitation struct { + // DisableEmailNotification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-disableemailnotification + DisableEmailNotification bool `json:"DisableEmailNotification,omitempty"` + // GraphArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-grapharn diff --git a/cloudformation/devopsguru/aws-devopsguru-notificationchannel.go b/cloudformation/devopsguru/aws-devopsguru-notificationchannel.go new file mode 100644 index 0000000000..00afbe2e61 --- /dev/null +++ b/cloudformation/devopsguru/aws-devopsguru-notificationchannel.go @@ -0,0 +1,106 @@ +package devopsguru + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NotificationChannel AWS CloudFormation Resource (AWS::DevOpsGuru::NotificationChannel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html +type NotificationChannel struct { + + // Config AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html#cfn-devopsguru-notificationchannel-config + Config *NotificationChannel_NotificationChannelConfig `json:"Config,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NotificationChannel) AWSCloudFormationType() string { + return "AWS::DevOpsGuru::NotificationChannel" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *NotificationChannel) UnmarshalJSON(b []byte) error { + type Properties NotificationChannel + 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 = NotificationChannel(*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/devopsguru/aws-devopsguru-notificationchannel_notificationchannelconfig.go b/cloudformation/devopsguru/aws-devopsguru-notificationchannel_notificationchannelconfig.go new file mode 100644 index 0000000000..a6a0056ed6 --- /dev/null +++ b/cloudformation/devopsguru/aws-devopsguru-notificationchannel_notificationchannelconfig.go @@ -0,0 +1,35 @@ +package devopsguru + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NotificationChannel_NotificationChannelConfig AWS CloudFormation Resource (AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-notificationchannel-notificationchannelconfig.html +type NotificationChannel_NotificationChannelConfig struct { + + // Sns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-notificationchannel-notificationchannelconfig.html#cfn-devopsguru-notificationchannel-notificationchannelconfig-sns + Sns *NotificationChannel_SnsChannelConfig `json:"Sns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NotificationChannel_NotificationChannelConfig) AWSCloudFormationType() string { + return "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" +} diff --git a/cloudformation/devopsguru/aws-devopsguru-notificationchannel_snschannelconfig.go b/cloudformation/devopsguru/aws-devopsguru-notificationchannel_snschannelconfig.go new file mode 100644 index 0000000000..0519131363 --- /dev/null +++ b/cloudformation/devopsguru/aws-devopsguru-notificationchannel_snschannelconfig.go @@ -0,0 +1,35 @@ +package devopsguru + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NotificationChannel_SnsChannelConfig AWS CloudFormation Resource (AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-notificationchannel-snschannelconfig.html +type NotificationChannel_SnsChannelConfig struct { + + // TopicArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-notificationchannel-snschannelconfig.html#cfn-devopsguru-notificationchannel-snschannelconfig-topicarn + TopicArn string `json:"TopicArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NotificationChannel_SnsChannelConfig) AWSCloudFormationType() string { + return "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" +} diff --git a/cloudformation/devopsguru/aws-devopsguru-resourcecollection.go b/cloudformation/devopsguru/aws-devopsguru-resourcecollection.go new file mode 100644 index 0000000000..3554f3e866 --- /dev/null +++ b/cloudformation/devopsguru/aws-devopsguru-resourcecollection.go @@ -0,0 +1,106 @@ +package devopsguru + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceCollection AWS CloudFormation Resource (AWS::DevOpsGuru::ResourceCollection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html +type ResourceCollection struct { + + // ResourceCollectionFilter AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html#cfn-devopsguru-resourcecollection-resourcecollectionfilter + ResourceCollectionFilter *ResourceCollection_ResourceCollectionFilter `json:"ResourceCollectionFilter,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceCollection) AWSCloudFormationType() string { + return "AWS::DevOpsGuru::ResourceCollection" +} + +// 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 ResourceCollection) MarshalJSON() ([]byte, error) { + type Properties ResourceCollection + return json.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 *ResourceCollection) UnmarshalJSON(b []byte) error { + type Properties ResourceCollection + 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 = ResourceCollection(*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/devopsguru/aws-devopsguru-resourcecollection_cloudformationcollectionfilter.go b/cloudformation/devopsguru/aws-devopsguru-resourcecollection_cloudformationcollectionfilter.go new file mode 100644 index 0000000000..9638bf075d --- /dev/null +++ b/cloudformation/devopsguru/aws-devopsguru-resourcecollection_cloudformationcollectionfilter.go @@ -0,0 +1,35 @@ +package devopsguru + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceCollection_CloudFormationCollectionFilter AWS CloudFormation Resource (AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter.html +type ResourceCollection_CloudFormationCollectionFilter struct { + + // StackNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter.html#cfn-devopsguru-resourcecollection-cloudformationcollectionfilter-stacknames + StackNames []string `json:"StackNames,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceCollection_CloudFormationCollectionFilter) AWSCloudFormationType() string { + return "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" +} diff --git a/cloudformation/devopsguru/aws-devopsguru-resourcecollection_resourcecollectionfilter.go b/cloudformation/devopsguru/aws-devopsguru-resourcecollection_resourcecollectionfilter.go new file mode 100644 index 0000000000..8306ea966a --- /dev/null +++ b/cloudformation/devopsguru/aws-devopsguru-resourcecollection_resourcecollectionfilter.go @@ -0,0 +1,35 @@ +package devopsguru + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceCollection_ResourceCollectionFilter AWS CloudFormation Resource (AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-resourcecollection-resourcecollectionfilter.html +type ResourceCollection_ResourceCollectionFilter struct { + + // CloudFormation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-devopsguru-resourcecollection-resourcecollectionfilter.html#cfn-devopsguru-resourcecollection-resourcecollectionfilter-cloudformation + CloudFormation *ResourceCollection_CloudFormationCollectionFilter `json:"CloudFormation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceCollection_ResourceCollectionFilter) AWSCloudFormationType() string { + return "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy.go index 5c64a72b17..a72e2aa1af 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // LifecyclePolicy AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy) @@ -32,6 +33,11 @@ type LifecyclePolicy struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state State string `json:"State,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_action.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_action.go new file mode 100644 index 0000000000..0d46b1d2ce --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_action.go @@ -0,0 +1,40 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LifecyclePolicy_Action AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.Action) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-action.html +type LifecyclePolicy_Action struct { + + // CrossRegionCopy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-action.html#cfn-dlm-lifecyclepolicy-action-crossregioncopy + CrossRegionCopy []LifecyclePolicy_CrossRegionCopyAction `json:"CrossRegionCopy,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-action.html#cfn-dlm-lifecyclepolicy-action-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 *LifecyclePolicy_Action) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.Action" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go index 9908564775..295afa4240 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_createrule.go @@ -23,6 +23,11 @@ type LifecyclePolicy_CreateRule struct { // 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"` + // Location AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-location + Location string `json:"Location,omitempty"` + // Times AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-times diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyaction.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyaction.go new file mode 100644 index 0000000000..a43c926094 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyaction.go @@ -0,0 +1,45 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LifecyclePolicy_CrossRegionCopyAction AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.CrossRegionCopyAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html +type LifecyclePolicy_CrossRegionCopyAction struct { + + // EncryptionConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html#cfn-dlm-lifecyclepolicy-crossregioncopyaction-encryptionconfiguration + EncryptionConfiguration *LifecyclePolicy_EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"` + + // RetainRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html#cfn-dlm-lifecyclepolicy-crossregioncopyaction-retainrule + RetainRule *LifecyclePolicy_CrossRegionCopyRetainRule `json:"RetainRule,omitempty"` + + // Target AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html#cfn-dlm-lifecyclepolicy-crossregioncopyaction-target + Target string `json:"Target,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_CrossRegionCopyAction) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go index d9daf822ac..bd8913c4f7 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go @@ -28,8 +28,13 @@ type LifecyclePolicy_CrossRegionCopyRule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-retainrule RetainRule *LifecyclePolicy_CrossRegionCopyRetainRule `json:"RetainRule,omitempty"` + // Target AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-target + Target string `json:"Target,omitempty"` + // TargetRegion AWS CloudFormation Property - // Required: true + // Required: false // 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"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_encryptionconfiguration.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_encryptionconfiguration.go new file mode 100644 index 0000000000..28c23da127 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_encryptionconfiguration.go @@ -0,0 +1,40 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LifecyclePolicy_EncryptionConfiguration AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.EncryptionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-encryptionconfiguration.html +type LifecyclePolicy_EncryptionConfiguration struct { + + // CmkArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-encryptionconfiguration.html#cfn-dlm-lifecyclepolicy-encryptionconfiguration-cmkarn + CmkArn string `json:"CmkArn,omitempty"` + + // Encrypted AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-encryptionconfiguration.html#cfn-dlm-lifecyclepolicy-encryptionconfiguration-encrypted + Encrypted bool `json:"Encrypted"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_EncryptionConfiguration) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.EncryptionConfiguration" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_eventparameters.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_eventparameters.go new file mode 100644 index 0000000000..3b2b489721 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_eventparameters.go @@ -0,0 +1,45 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LifecyclePolicy_EventParameters AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.EventParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html +type LifecyclePolicy_EventParameters struct { + + // DescriptionRegex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html#cfn-dlm-lifecyclepolicy-eventparameters-descriptionregex + DescriptionRegex string `json:"DescriptionRegex,omitempty"` + + // EventType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html#cfn-dlm-lifecyclepolicy-eventparameters-eventtype + EventType string `json:"EventType,omitempty"` + + // SnapshotOwner AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html#cfn-dlm-lifecyclepolicy-eventparameters-snapshotowner + SnapshotOwner []string `json:"SnapshotOwner,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_EventParameters) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.EventParameters" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_eventsource.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_eventsource.go new file mode 100644 index 0000000000..83b654c2d8 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_eventsource.go @@ -0,0 +1,40 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LifecyclePolicy_EventSource AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.EventSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventsource.html +type LifecyclePolicy_EventSource struct { + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventsource.html#cfn-dlm-lifecyclepolicy-eventsource-parameters + Parameters *LifecyclePolicy_EventParameters `json:"Parameters,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventsource.html#cfn-dlm-lifecyclepolicy-eventsource-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 *LifecyclePolicy_EventSource) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.EventSource" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go index 68feaa8e85..e36337f1e4 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go @@ -9,6 +9,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html type LifecyclePolicy_PolicyDetails struct { + // Actions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-actions + Actions []LifecyclePolicy_Action `json:"Actions,omitempty"` + + // EventSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-eventsource + EventSource *LifecyclePolicy_EventSource `json:"EventSource,omitempty"` + // Parameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-parameters @@ -19,18 +29,23 @@ type LifecyclePolicy_PolicyDetails struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policytype PolicyType string `json:"PolicyType,omitempty"` + // ResourceLocations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcelocations + ResourceLocations []string `json:"ResourceLocations,omitempty"` + // ResourceTypes AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetypes ResourceTypes []string `json:"ResourceTypes,omitempty"` // Schedules AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-schedules Schedules []LifecyclePolicy_Schedule `json:"Schedules,omitempty"` // TargetTags AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-targettags TargetTags []tags.Tag `json:"TargetTags,omitempty"` diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go index 19079e8854..3281511a0d 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go @@ -39,6 +39,11 @@ type LifecyclePolicy_Schedule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-retainrule RetainRule *LifecyclePolicy_RetainRule `json:"RetainRule,omitempty"` + // ShareRules AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-sharerules + ShareRules []LifecyclePolicy_ShareRule `json:"ShareRules,omitempty"` + // TagsToAdd AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-tagstoadd diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_sharerule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_sharerule.go new file mode 100644 index 0000000000..ef65d54ecd --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_sharerule.go @@ -0,0 +1,45 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LifecyclePolicy_ShareRule AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.ShareRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html +type LifecyclePolicy_ShareRule struct { + + // TargetAccounts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html#cfn-dlm-lifecyclepolicy-sharerule-targetaccounts + TargetAccounts []string `json:"TargetAccounts,omitempty"` + + // UnshareInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html#cfn-dlm-lifecyclepolicy-sharerule-unshareinterval + UnshareInterval int `json:"UnshareInterval,omitempty"` + + // UnshareIntervalUnit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html#cfn-dlm-lifecyclepolicy-sharerule-unshareintervalunit + UnshareIntervalUnit string `json:"UnshareIntervalUnit,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_ShareRule) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.ShareRule" +} diff --git a/cloudformation/dms/aws-dms-endpoint.go b/cloudformation/dms/aws-dms-endpoint.go index 909b1c5ff0..66b5e77987 100644 --- a/cloudformation/dms/aws-dms-endpoint.go +++ b/cloudformation/dms/aws-dms-endpoint.go @@ -23,6 +23,11 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-databasename DatabaseName string `json:"DatabaseName,omitempty"` + // DocDbSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-docdbsettings + DocDbSettings *Endpoint_DocDbSettings `json:"DocDbSettings,omitempty"` + // DynamoDbSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-dynamodbsettings @@ -53,6 +58,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"` + // IbmDb2Settings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-ibmdb2settings + IbmDb2Settings *Endpoint_IbmDb2Settings `json:"IbmDb2Settings,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 @@ -68,16 +78,31 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kmskeyid KmsKeyId string `json:"KmsKeyId,omitempty"` + // MicrosoftSqlServerSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-microsoftsqlserversettings + MicrosoftSqlServerSettings *Endpoint_MicrosoftSqlServerSettings `json:"MicrosoftSqlServerSettings,omitempty"` + // MongoDbSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mongodbsettings MongoDbSettings *Endpoint_MongoDbSettings `json:"MongoDbSettings,omitempty"` + // MySqlSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mysqlsettings + MySqlSettings *Endpoint_MySqlSettings `json:"MySqlSettings,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"` + // OracleSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-oraclesettings + OracleSettings *Endpoint_OracleSettings `json:"OracleSettings,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 @@ -88,6 +113,16 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-port Port int `json:"Port,omitempty"` + // PostgreSqlSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-postgresqlsettings + PostgreSqlSettings *Endpoint_PostgreSqlSettings `json:"PostgreSqlSettings,omitempty"` + + // RedshiftSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-redshiftsettings + RedshiftSettings *Endpoint_RedshiftSettings `json:"RedshiftSettings,omitempty"` + // S3Settings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-s3settings @@ -103,6 +138,11 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-sslmode SslMode string `json:"SslMode,omitempty"` + // SybaseSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-sybasesettings + SybaseSettings *Endpoint_SybaseSettings `json:"SybaseSettings,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-tags diff --git a/cloudformation/dms/aws-dms-endpoint_docdbsettings.go b/cloudformation/dms/aws-dms-endpoint_docdbsettings.go new file mode 100644 index 0000000000..a527dea798 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_docdbsettings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_DocDbSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.DocDbSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html +type Endpoint_DocDbSettings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html#cfn-dms-endpoint-docdbsettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html#cfn-dms-endpoint-docdbsettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_DocDbSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.DocDbSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go b/cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go new file mode 100644 index 0000000000..457d5cc41c --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_IbmDb2Settings AWS CloudFormation Resource (AWS::DMS::Endpoint.IbmDb2Settings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html +type Endpoint_IbmDb2Settings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html#cfn-dms-endpoint-ibmdb2settings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html#cfn-dms-endpoint-ibmdb2settings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_IbmDb2Settings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.IbmDb2Settings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go b/cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go new file mode 100644 index 0000000000..52324143b0 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_MicrosoftSqlServerSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.MicrosoftSqlServerSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html +type Endpoint_MicrosoftSqlServerSettings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_MicrosoftSqlServerSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.MicrosoftSqlServerSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go b/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go index 2dce92eefa..d6e5e32408 100644 --- a/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_mongodbsettings.go @@ -53,6 +53,16 @@ type Endpoint_MongoDbSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-port Port int `json:"Port,omitempty"` + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + // ServerName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-servername diff --git a/cloudformation/dms/aws-dms-endpoint_mysqlsettings.go b/cloudformation/dms/aws-dms-endpoint_mysqlsettings.go new file mode 100644 index 0000000000..8bc7203952 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_mysqlsettings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_MySqlSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.MySqlSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mysqlsettings.html +type Endpoint_MySqlSettings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mysqlsettings.html#cfn-dms-endpoint-mysqlsettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mysqlsettings.html#cfn-dms-endpoint-mysqlsettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_MySqlSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.MySqlSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_oraclesettings.go b/cloudformation/dms/aws-dms-endpoint_oraclesettings.go new file mode 100644 index 0000000000..2c783db869 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_oraclesettings.go @@ -0,0 +1,50 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_OracleSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.OracleSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html +type Endpoint_OracleSettings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerOracleAsmAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanageroracleasmaccessrolearn + SecretsManagerOracleAsmAccessRoleArn string `json:"SecretsManagerOracleAsmAccessRoleArn,omitempty"` + + // SecretsManagerOracleAsmSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanageroracleasmsecretid + SecretsManagerOracleAsmSecretId string `json:"SecretsManagerOracleAsmSecretId,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_OracleSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.OracleSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go b/cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go new file mode 100644 index 0000000000..3b8001e162 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_PostgreSqlSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.PostgreSqlSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html +type Endpoint_PostgreSqlSettings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html#cfn-dms-endpoint-postgresqlsettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html#cfn-dms-endpoint-postgresqlsettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_PostgreSqlSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.PostgreSqlSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go b/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go new file mode 100644 index 0000000000..bb48b34059 --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_RedshiftSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.RedshiftSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html +type Endpoint_RedshiftSettings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_RedshiftSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.RedshiftSettings" +} diff --git a/cloudformation/dms/aws-dms-endpoint_sybasesettings.go b/cloudformation/dms/aws-dms-endpoint_sybasesettings.go new file mode 100644 index 0000000000..48a02f120e --- /dev/null +++ b/cloudformation/dms/aws-dms-endpoint_sybasesettings.go @@ -0,0 +1,40 @@ +package dms + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_SybaseSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.SybaseSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-sybasesettings.html +type Endpoint_SybaseSettings struct { + + // SecretsManagerAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-sybasesettings.html#cfn-dms-endpoint-sybasesettings-secretsmanageraccessrolearn + SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"` + + // SecretsManagerSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-sybasesettings.html#cfn-dms-endpoint-sybasesettings-secretsmanagersecretid + SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_SybaseSettings) AWSCloudFormationType() string { + return "AWS::DMS::Endpoint.SybaseSettings" +} diff --git a/cloudformation/dynamodb/aws-dynamodb-table.go b/cloudformation/dynamodb/aws-dynamodb-table.go index a144b1c96d..c6b15469eb 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table.go +++ b/cloudformation/dynamodb/aws-dynamodb-table.go @@ -33,6 +33,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema KeySchema []Table_KeySchema `json:"KeySchema,omitempty"` + // KinesisStreamSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-kinesisstreamspecification + KinesisStreamSpecification *Table_KinesisStreamSpecification `json:"KinesisStreamSpecification,omitempty"` + // LocalSecondaryIndexes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-lsi diff --git a/cloudformation/dynamodb/aws-dynamodb-table_kinesisstreamspecification.go b/cloudformation/dynamodb/aws-dynamodb-table_kinesisstreamspecification.go new file mode 100644 index 0000000000..5460dde110 --- /dev/null +++ b/cloudformation/dynamodb/aws-dynamodb-table_kinesisstreamspecification.go @@ -0,0 +1,35 @@ +package dynamodb + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_KinesisStreamSpecification AWS CloudFormation Resource (AWS::DynamoDB::Table.KinesisStreamSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-kinesisstreamspecification.html +type Table_KinesisStreamSpecification struct { + + // StreamArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-kinesisstreamspecification.html#cfn-dynamodb-kinesisstreamspecification-streamarn + StreamArn string `json:"StreamArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Table_KinesisStreamSpecification) AWSCloudFormationType() string { + return "AWS::DynamoDB::Table.KinesisStreamSpecification" +} diff --git a/cloudformation/ec2/aws-ec2-carriergateway.go b/cloudformation/ec2/aws-ec2-carriergateway.go index 406be746ab..f1df15d860 100644 --- a/cloudformation/ec2/aws-ec2-carriergateway.go +++ b/cloudformation/ec2/aws-ec2-carriergateway.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // CarrierGateway AWS CloudFormation Resource (AWS::EC2::CarrierGateway) @@ -15,7 +16,7 @@ type CarrierGateway struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-tags - Tags *CarrierGateway_Tags `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // VpcId AWS CloudFormation Property // Required: true diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint.go index 05cdeb7797..03123574e2 100644 --- a/cloudformation/ec2/aws-ec2-clientvpnendpoint.go +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint.go @@ -22,6 +22,11 @@ type ClientVpnEndpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientcidrblock ClientCidrBlock string `json:"ClientCidrBlock,omitempty"` + // ClientConnectOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientconnectoptions + ClientConnectOptions *ClientVpnEndpoint_ClientConnectOptions `json:"ClientConnectOptions,omitempty"` + // ConnectionLogOptions AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-connectionlogoptions diff --git a/cloudformation/ec2/aws-ec2-clientvpnendpoint_clientconnectoptions.go b/cloudformation/ec2/aws-ec2-clientvpnendpoint_clientconnectoptions.go new file mode 100644 index 0000000000..01a00ddcff --- /dev/null +++ b/cloudformation/ec2/aws-ec2-clientvpnendpoint_clientconnectoptions.go @@ -0,0 +1,40 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ClientVpnEndpoint_ClientConnectOptions AWS CloudFormation Resource (AWS::EC2::ClientVpnEndpoint.ClientConnectOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html +type ClientVpnEndpoint_ClientConnectOptions struct { + + // Enabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html#cfn-ec2-clientvpnendpoint-clientconnectoptions-enabled + Enabled bool `json:"Enabled"` + + // LambdaFunctionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html#cfn-ec2-clientvpnendpoint-clientconnectoptions-lambdafunctionarn + LambdaFunctionArn string `json:"LambdaFunctionArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_ClientConnectOptions) AWSCloudFormationType() string { + return "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" +} diff --git a/cloudformation/ec2/aws-ec2-instance.go b/cloudformation/ec2/aws-ec2-instance.go index e8fb297bbf..f221de51a3 100644 --- a/cloudformation/ec2/aws-ec2-instance.go +++ b/cloudformation/ec2/aws-ec2-instance.go @@ -63,6 +63,11 @@ type Instance struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators ElasticInferenceAccelerators []Instance_ElasticInferenceAccelerator `json:"ElasticInferenceAccelerators,omitempty"` + // EnclaveOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-enclaveoptions + EnclaveOptions *Instance_EnclaveOptions `json:"EnclaveOptions,omitempty"` + // HibernationOptions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hibernationoptions diff --git a/cloudformation/ec2/aws-ec2-instance_enclaveoptions.go b/cloudformation/ec2/aws-ec2-instance_enclaveoptions.go new file mode 100644 index 0000000000..8aba8ad830 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-instance_enclaveoptions.go @@ -0,0 +1,35 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Instance_EnclaveOptions AWS CloudFormation Resource (AWS::EC2::Instance.EnclaveOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enclaveoptions.html +type Instance_EnclaveOptions struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enclaveoptions.html#cfn-ec2-instance-enclaveoptions-enabled + Enabled bool `json:"Enabled,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Instance_EnclaveOptions) AWSCloudFormationType() string { + return "AWS::EC2::Instance.EnclaveOptions" +} diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go b/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go index ae99aae6d6..212560e4e6 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_capacityreservationtarget.go @@ -13,6 +13,11 @@ type LaunchTemplate_CapacityReservationTarget struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html#cfn-ec2-launchtemplate-capacityreservationtarget-capacityreservationid CapacityReservationId string `json:"CapacityReservationId,omitempty"` + // CapacityReservationResourceGroupArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html#cfn-ec2-launchtemplate-capacityreservationtarget-capacityreservationresourcegrouparn + CapacityReservationResourceGroupArn string `json:"CapacityReservationResourceGroupArn,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go b/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go index 8299401e29..789a28ebc3 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_ebs.go @@ -33,6 +33,11 @@ type LaunchTemplate_Ebs struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-snapshotid SnapshotId string `json:"SnapshotId,omitempty"` + // Throughput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-throughput + Throughput int `json:"Throughput,omitempty"` + // VolumeSize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-volumesize diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_enclaveoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_enclaveoptions.go new file mode 100644 index 0000000000..901b9e5c9f --- /dev/null +++ b/cloudformation/ec2/aws-ec2-launchtemplate_enclaveoptions.go @@ -0,0 +1,35 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LaunchTemplate_EnclaveOptions AWS CloudFormation Resource (AWS::EC2::LaunchTemplate.EnclaveOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-enclaveoptions.html +type LaunchTemplate_EnclaveOptions struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-enclaveoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-enclaveoptions-enabled + Enabled bool `json:"Enabled,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LaunchTemplate_EnclaveOptions) AWSCloudFormationType() string { + return "AWS::EC2::LaunchTemplate.EnclaveOptions" +} diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go index 85f3103e84..61a60794b1 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go @@ -48,6 +48,11 @@ type LaunchTemplate_LaunchTemplateData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticinferenceaccelerators ElasticInferenceAccelerators []LaunchTemplate_LaunchTemplateElasticInferenceAccelerator `json:"ElasticInferenceAccelerators,omitempty"` + // EnclaveOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-enclaveoptions + EnclaveOptions *LaunchTemplate_EnclaveOptions `json:"EnclaveOptions,omitempty"` + // HibernationOptions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-hibernationoptions diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go b/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go index cc1d340514..40fe5f1377 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html type LaunchTemplate_NetworkInterface struct { + // AssociateCarrierIpAddress AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatecarrieripaddress + AssociateCarrierIpAddress bool `json:"AssociateCarrierIpAddress,omitempty"` + // AssociatePublicIpAddress AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress @@ -48,6 +53,11 @@ type LaunchTemplate_NetworkInterface struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses Ipv6Addresses []LaunchTemplate_Ipv6Add `json:"Ipv6Addresses,omitempty"` + // NetworkCardIndex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkcardindex + NetworkCardIndex int `json:"NetworkCardIndex,omitempty"` + // NetworkInterfaceId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid diff --git a/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go b/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go index 6a963cf9fa..6b64d3c39a 100644 --- a/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go +++ b/cloudformation/ec2/aws-ec2-localgatewayroutetablevpcassociation.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // LocalGatewayRouteTableVPCAssociation AWS CloudFormation Resource (AWS::EC2::LocalGatewayRouteTableVPCAssociation) @@ -20,7 +21,7 @@ type LocalGatewayRouteTableVPCAssociation struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html#cfn-ec2-localgatewayroutetablevpcassociation-tags - Tags *LocalGatewayRouteTableVPCAssociation_Tags `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // VpcId AWS CloudFormation Property // Required: true diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis.go new file mode 100644 index 0000000000..7f2c7e3ef7 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis.go @@ -0,0 +1,117 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// NetworkInsightsAnalysis AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html +type NetworkInsightsAnalysis struct { + + // FilterInArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-filterinarns + FilterInArns []string `json:"FilterInArns,omitempty"` + + // NetworkInsightsPathId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-networkinsightspathid + NetworkInsightsPathId string `json:"NetworkInsightsPathId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-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 *NetworkInsightsAnalysis) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis" +} + +// 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 NetworkInsightsAnalysis) MarshalJSON() ([]byte, error) { + type Properties NetworkInsightsAnalysis + return json.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 *NetworkInsightsAnalysis) UnmarshalJSON(b []byte) error { + type Properties NetworkInsightsAnalysis + 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 = NetworkInsightsAnalysis(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_alternatepathhint.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_alternatepathhint.go new file mode 100644 index 0000000000..0df0538121 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_alternatepathhint.go @@ -0,0 +1,40 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AlternatePathHint AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-alternatepathhint.html +type NetworkInsightsAnalysis_AlternatePathHint struct { + + // ComponentArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-alternatepathhint.html#cfn-ec2-networkinsightsanalysis-alternatepathhint-componentarn + ComponentArn string `json:"ComponentArn,omitempty"` + + // ComponentId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-alternatepathhint.html#cfn-ec2-networkinsightsanalysis-alternatepathhint-componentid + ComponentId string `json:"ComponentId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AlternatePathHint) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisaclrule.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisaclrule.go new file mode 100644 index 0000000000..20b9f4bccb --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisaclrule.go @@ -0,0 +1,60 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AnalysisAclRule AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html +type NetworkInsightsAnalysis_AnalysisAclRule struct { + + // Cidr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-cidr + Cidr string `json:"Cidr,omitempty"` + + // Egress AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-egress + Egress bool `json:"Egress,omitempty"` + + // PortRange AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-portrange + PortRange *NetworkInsightsAnalysis_PortRange `json:"PortRange,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-protocol + Protocol string `json:"Protocol,omitempty"` + + // RuleAction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-ruleaction + RuleAction string `json:"RuleAction,omitempty"` + + // RuleNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-rulenumber + RuleNumber int `json:"RuleNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AnalysisAclRule) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysiscomponent.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysiscomponent.go new file mode 100644 index 0000000000..8cc12c0890 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysiscomponent.go @@ -0,0 +1,40 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AnalysisComponent AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysiscomponent.html +type NetworkInsightsAnalysis_AnalysisComponent struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysiscomponent.html#cfn-ec2-networkinsightsanalysis-analysiscomponent-arn + Arn string `json:"Arn,omitempty"` + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysiscomponent.html#cfn-ec2-networkinsightsanalysis-analysiscomponent-id + Id string `json:"Id,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AnalysisComponent) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancerlistener.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancerlistener.go new file mode 100644 index 0000000000..516e922e4c --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancerlistener.go @@ -0,0 +1,40 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AnalysisLoadBalancerListener AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancerlistener.html +type NetworkInsightsAnalysis_AnalysisLoadBalancerListener struct { + + // InstancePort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancerlistener.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancerlistener-instanceport + InstancePort int `json:"InstancePort,omitempty"` + + // LoadBalancerPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancerlistener.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancerlistener-loadbalancerport + LoadBalancerPort int `json:"LoadBalancerPort,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AnalysisLoadBalancerListener) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancertarget.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancertarget.go new file mode 100644 index 0000000000..5dc0dd8986 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisloadbalancertarget.go @@ -0,0 +1,50 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AnalysisLoadBalancerTarget AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html +type NetworkInsightsAnalysis_AnalysisLoadBalancerTarget struct { + + // Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-address + Address string `json:"Address,omitempty"` + + // AvailabilityZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-availabilityzone + AvailabilityZone string `json:"AvailabilityZone,omitempty"` + + // Instance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-instance + Instance *NetworkInsightsAnalysis_AnalysisComponent `json:"Instance,omitempty"` + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-port + Port int `json:"Port,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AnalysisLoadBalancerTarget) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysispacketheader.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysispacketheader.go new file mode 100644 index 0000000000..4e75351278 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysispacketheader.go @@ -0,0 +1,55 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AnalysisPacketHeader AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html +type NetworkInsightsAnalysis_AnalysisPacketHeader struct { + + // DestinationAddresses AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-destinationaddresses + DestinationAddresses []string `json:"DestinationAddresses,omitempty"` + + // DestinationPortRanges AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-destinationportranges + DestinationPortRanges []NetworkInsightsAnalysis_PortRange `json:"DestinationPortRanges,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-protocol + Protocol string `json:"Protocol,omitempty"` + + // SourceAddresses AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-sourceaddresses + SourceAddresses []string `json:"SourceAddresses,omitempty"` + + // SourcePortRanges AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-sourceportranges + SourcePortRanges []NetworkInsightsAnalysis_PortRange `json:"SourcePortRanges,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AnalysisPacketHeader) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisroutetableroute.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisroutetableroute.go new file mode 100644 index 0000000000..3f25e553c4 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysisroutetableroute.go @@ -0,0 +1,80 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AnalysisRouteTableRoute AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html +type NetworkInsightsAnalysis_AnalysisRouteTableRoute struct { + + // NatGatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-natgatewayid + NatGatewayId string `json:"NatGatewayId,omitempty"` + + // NetworkInterfaceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-networkinterfaceid + NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"` + + // Origin AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-origin + Origin string `json:"Origin,omitempty"` + + // TransitGatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-transitgatewayid + TransitGatewayId string `json:"TransitGatewayId,omitempty"` + + // VpcPeeringConnectionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-vpcpeeringconnectionid + VpcPeeringConnectionId string `json:"VpcPeeringConnectionId,omitempty"` + + // destinationCidr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-destinationcidr + destinationCidr string `json:"destinationCidr,omitempty"` + + // destinationPrefixListId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-destinationprefixlistid + destinationPrefixListId string `json:"destinationPrefixListId,omitempty"` + + // egressOnlyInternetGatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-egressonlyinternetgatewayid + egressOnlyInternetGatewayId string `json:"egressOnlyInternetGatewayId,omitempty"` + + // gatewayId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-gatewayid + gatewayId string `json:"gatewayId,omitempty"` + + // instanceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-instanceid + instanceId string `json:"instanceId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AnalysisRouteTableRoute) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysissecuritygrouprule.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysissecuritygrouprule.go new file mode 100644 index 0000000000..aa220371b8 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_analysissecuritygrouprule.go @@ -0,0 +1,60 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_AnalysisSecurityGroupRule AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html +type NetworkInsightsAnalysis_AnalysisSecurityGroupRule struct { + + // Cidr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-cidr + Cidr string `json:"Cidr,omitempty"` + + // Direction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-direction + Direction string `json:"Direction,omitempty"` + + // PortRange AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-portrange + PortRange *NetworkInsightsAnalysis_PortRange `json:"PortRange,omitempty"` + + // PrefixListId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-prefixlistid + PrefixListId string `json:"PrefixListId,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-protocol + Protocol string `json:"Protocol,omitempty"` + + // SecurityGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-securitygroupid + SecurityGroupId string `json:"SecurityGroupId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_AnalysisSecurityGroupRule) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go new file mode 100644 index 0000000000..d7b8ed1a83 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_explanation.go @@ -0,0 +1,255 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_Explanation AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.Explanation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html +type NetworkInsightsAnalysis_Explanation struct { + + // Acl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-acl + Acl *NetworkInsightsAnalysis_AnalysisComponent `json:"Acl,omitempty"` + + // AclRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-aclrule + AclRule *NetworkInsightsAnalysis_AnalysisAclRule `json:"AclRule,omitempty"` + + // Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-address + Address string `json:"Address,omitempty"` + + // Addresses AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-addresses + Addresses []string `json:"Addresses,omitempty"` + + // AttachedTo AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-attachedto + AttachedTo *NetworkInsightsAnalysis_AnalysisComponent `json:"AttachedTo,omitempty"` + + // AvailabilityZones AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-availabilityzones + AvailabilityZones []string `json:"AvailabilityZones,omitempty"` + + // Cidrs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-cidrs + Cidrs []string `json:"Cidrs,omitempty"` + + // ClassicLoadBalancerListener AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-classicloadbalancerlistener + ClassicLoadBalancerListener *NetworkInsightsAnalysis_AnalysisLoadBalancerListener `json:"ClassicLoadBalancerListener,omitempty"` + + // Component AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-component + Component *NetworkInsightsAnalysis_AnalysisComponent `json:"Component,omitempty"` + + // CustomerGateway AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-customergateway + CustomerGateway *NetworkInsightsAnalysis_AnalysisComponent `json:"CustomerGateway,omitempty"` + + // Destination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-destination + Destination *NetworkInsightsAnalysis_AnalysisComponent `json:"Destination,omitempty"` + + // DestinationVpc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-destinationvpc + DestinationVpc *NetworkInsightsAnalysis_AnalysisComponent `json:"DestinationVpc,omitempty"` + + // Direction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-direction + Direction string `json:"Direction,omitempty"` + + // ElasticLoadBalancerListener AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-elasticloadbalancerlistener + ElasticLoadBalancerListener *NetworkInsightsAnalysis_AnalysisComponent `json:"ElasticLoadBalancerListener,omitempty"` + + // ExplanationCode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-explanationcode + ExplanationCode string `json:"ExplanationCode,omitempty"` + + // IngressRouteTable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-ingressroutetable + IngressRouteTable *NetworkInsightsAnalysis_AnalysisComponent `json:"IngressRouteTable,omitempty"` + + // InternetGateway AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-internetgateway + InternetGateway *NetworkInsightsAnalysis_AnalysisComponent `json:"InternetGateway,omitempty"` + + // LoadBalancerArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancerarn + LoadBalancerArn string `json:"LoadBalancerArn,omitempty"` + + // LoadBalancerListenerPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancerlistenerport + LoadBalancerListenerPort int `json:"LoadBalancerListenerPort,omitempty"` + + // LoadBalancerTarget AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertarget + LoadBalancerTarget *NetworkInsightsAnalysis_AnalysisLoadBalancerTarget `json:"LoadBalancerTarget,omitempty"` + + // LoadBalancerTargetGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertargetgroup + LoadBalancerTargetGroup *NetworkInsightsAnalysis_AnalysisComponent `json:"LoadBalancerTargetGroup,omitempty"` + + // LoadBalancerTargetGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertargetgroups + LoadBalancerTargetGroups []NetworkInsightsAnalysis_AnalysisComponent `json:"LoadBalancerTargetGroups,omitempty"` + + // LoadBalancerTargetPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertargetport + LoadBalancerTargetPort int `json:"LoadBalancerTargetPort,omitempty"` + + // MissingComponent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-missingcomponent + MissingComponent string `json:"MissingComponent,omitempty"` + + // NatGateway AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-natgateway + NatGateway *NetworkInsightsAnalysis_AnalysisComponent `json:"NatGateway,omitempty"` + + // NetworkInterface AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-networkinterface + NetworkInterface *NetworkInsightsAnalysis_AnalysisComponent `json:"NetworkInterface,omitempty"` + + // PacketField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-packetfield + PacketField string `json:"PacketField,omitempty"` + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-port + Port int `json:"Port,omitempty"` + + // PortRanges AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-portranges + PortRanges []NetworkInsightsAnalysis_PortRange `json:"PortRanges,omitempty"` + + // PrefixList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-prefixlist + PrefixList *NetworkInsightsAnalysis_AnalysisComponent `json:"PrefixList,omitempty"` + + // Protocols AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-protocols + Protocols []string `json:"Protocols,omitempty"` + + // RouteTable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-routetable + RouteTable *NetworkInsightsAnalysis_AnalysisComponent `json:"RouteTable,omitempty"` + + // RouteTableRoute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-routetableroute + RouteTableRoute *NetworkInsightsAnalysis_AnalysisRouteTableRoute `json:"RouteTableRoute,omitempty"` + + // SecurityGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-securitygroup + SecurityGroup *NetworkInsightsAnalysis_AnalysisComponent `json:"SecurityGroup,omitempty"` + + // SecurityGroupRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-securitygrouprule + SecurityGroupRule *NetworkInsightsAnalysis_AnalysisSecurityGroupRule `json:"SecurityGroupRule,omitempty"` + + // SecurityGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-securitygroups + SecurityGroups []NetworkInsightsAnalysis_AnalysisComponent `json:"SecurityGroups,omitempty"` + + // SourceVpc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-sourcevpc + SourceVpc *NetworkInsightsAnalysis_AnalysisComponent `json:"SourceVpc,omitempty"` + + // State AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-state + State string `json:"State,omitempty"` + + // Subnet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-subnet + Subnet *NetworkInsightsAnalysis_AnalysisComponent `json:"Subnet,omitempty"` + + // SubnetRouteTable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-subnetroutetable + SubnetRouteTable *NetworkInsightsAnalysis_AnalysisComponent `json:"SubnetRouteTable,omitempty"` + + // Vpc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpc + Vpc *NetworkInsightsAnalysis_AnalysisComponent `json:"Vpc,omitempty"` + + // VpcPeeringConnection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpcpeeringconnection + VpcPeeringConnection *NetworkInsightsAnalysis_AnalysisComponent `json:"VpcPeeringConnection,omitempty"` + + // VpnConnection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpnconnection + VpnConnection *NetworkInsightsAnalysis_AnalysisComponent `json:"VpnConnection,omitempty"` + + // VpnGateway AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpngateway + VpnGateway *NetworkInsightsAnalysis_AnalysisComponent `json:"VpnGateway,omitempty"` + + // vpcEndpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpcendpoint + vpcEndpoint *NetworkInsightsAnalysis_AnalysisComponent `json:"vpcEndpoint,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_Explanation) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.Explanation" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go new file mode 100644 index 0000000000..4cd2b5be18 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_pathcomponent.go @@ -0,0 +1,85 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_PathComponent AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.PathComponent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html +type NetworkInsightsAnalysis_PathComponent struct { + + // AclRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-aclrule + AclRule *NetworkInsightsAnalysis_AnalysisAclRule `json:"AclRule,omitempty"` + + // Component AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-component + Component *NetworkInsightsAnalysis_AnalysisComponent `json:"Component,omitempty"` + + // DestinationVpc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-destinationvpc + DestinationVpc *NetworkInsightsAnalysis_AnalysisComponent `json:"DestinationVpc,omitempty"` + + // InboundHeader AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-inboundheader + InboundHeader *NetworkInsightsAnalysis_AnalysisPacketHeader `json:"InboundHeader,omitempty"` + + // OutboundHeader AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-outboundheader + OutboundHeader *NetworkInsightsAnalysis_AnalysisPacketHeader `json:"OutboundHeader,omitempty"` + + // RouteTableRoute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-routetableroute + RouteTableRoute *NetworkInsightsAnalysis_AnalysisRouteTableRoute `json:"RouteTableRoute,omitempty"` + + // SecurityGroupRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-securitygrouprule + SecurityGroupRule *NetworkInsightsAnalysis_AnalysisSecurityGroupRule `json:"SecurityGroupRule,omitempty"` + + // SequenceNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-sequencenumber + SequenceNumber int `json:"SequenceNumber,omitempty"` + + // SourceVpc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-sourcevpc + SourceVpc *NetworkInsightsAnalysis_AnalysisComponent `json:"SourceVpc,omitempty"` + + // Subnet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-subnet + Subnet *NetworkInsightsAnalysis_AnalysisComponent `json:"Subnet,omitempty"` + + // Vpc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-vpc + Vpc *NetworkInsightsAnalysis_AnalysisComponent `json:"Vpc,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_PathComponent) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.PathComponent" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightsanalysis_portrange.go b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_portrange.go new file mode 100644 index 0000000000..258d0e4361 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightsanalysis_portrange.go @@ -0,0 +1,40 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// NetworkInsightsAnalysis_PortRange AWS CloudFormation Resource (AWS::EC2::NetworkInsightsAnalysis.PortRange) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-portrange.html +type NetworkInsightsAnalysis_PortRange struct { + + // From AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-portrange.html#cfn-ec2-networkinsightsanalysis-portrange-from + From int `json:"From,omitempty"` + + // To AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-portrange.html#cfn-ec2-networkinsightsanalysis-portrange-to + To int `json:"To,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NetworkInsightsAnalysis_PortRange) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsAnalysis.PortRange" +} diff --git a/cloudformation/ec2/aws-ec2-networkinsightspath.go b/cloudformation/ec2/aws-ec2-networkinsightspath.go new file mode 100644 index 0000000000..d1fd71b261 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-networkinsightspath.go @@ -0,0 +1,137 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// NetworkInsightsPath AWS CloudFormation Resource (AWS::EC2::NetworkInsightsPath) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html +type NetworkInsightsPath struct { + + // Destination AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-destination + Destination string `json:"Destination,omitempty"` + + // DestinationIp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-destinationip + DestinationIp string `json:"DestinationIp,omitempty"` + + // DestinationPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-destinationport + DestinationPort int `json:"DestinationPort,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-protocol + Protocol string `json:"Protocol,omitempty"` + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-source + Source string `json:"Source,omitempty"` + + // SourceIp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-sourceip + SourceIp string `json:"SourceIp,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-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 *NetworkInsightsPath) AWSCloudFormationType() string { + return "AWS::EC2::NetworkInsightsPath" +} + +// 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 NetworkInsightsPath) MarshalJSON() ([]byte, error) { + type Properties NetworkInsightsPath + return json.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 *NetworkInsightsPath) UnmarshalJSON(b []byte) error { + type Properties NetworkInsightsPath + 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 = NetworkInsightsPath(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go b/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go index 927ede10b3..8a4fcb70c2 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_launchtemplateoverrides.go @@ -18,6 +18,11 @@ type SpotFleet_LaunchTemplateOverrides struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-instancetype InstanceType string `json:"InstanceType,omitempty"` + // Priority AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-priority + Priority float64 `json:"Priority,omitempty"` + // SpotPrice AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-spotprice diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotcapacityrebalance.go b/cloudformation/ec2/aws-ec2-spotfleet_spotcapacityrebalance.go new file mode 100644 index 0000000000..37c997ad5f --- /dev/null +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotcapacityrebalance.go @@ -0,0 +1,35 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SpotFleet_SpotCapacityRebalance AWS CloudFormation Resource (AWS::EC2::SpotFleet.SpotCapacityRebalance) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotcapacityrebalance.html +type SpotFleet_SpotCapacityRebalance struct { + + // ReplacementStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotcapacityrebalance.html#cfn-ec2-spotfleet-spotcapacityrebalance-replacementstrategy + ReplacementStrategy string `json:"ReplacementStrategy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SpotFleet_SpotCapacityRebalance) AWSCloudFormationType() string { + return "AWS::EC2::SpotFleet.SpotCapacityRebalance" +} diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go index fde712ca7f..b82aa2fbca 100644 --- a/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotfleetrequestconfigdata.go @@ -28,6 +28,11 @@ type SpotFleet_SpotFleetRequestConfigData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-instanceinterruptionbehavior InstanceInterruptionBehavior string `json:"InstanceInterruptionBehavior,omitempty"` + // InstancePoolsToUseCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-instancepoolstousecount + InstancePoolsToUseCount int `json:"InstancePoolsToUseCount,omitempty"` + // LaunchSpecifications AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications @@ -43,11 +48,36 @@ type SpotFleet_SpotFleetRequestConfigData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-loadbalancersconfig LoadBalancersConfig *SpotFleet_LoadBalancersConfig `json:"LoadBalancersConfig,omitempty"` + // OnDemandAllocationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-ondemandallocationstrategy + OnDemandAllocationStrategy string `json:"OnDemandAllocationStrategy,omitempty"` + + // OnDemandMaxTotalPrice AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-ondemandmaxtotalprice + OnDemandMaxTotalPrice string `json:"OnDemandMaxTotalPrice,omitempty"` + + // OnDemandTargetCapacity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-ondemandtargetcapacity + OnDemandTargetCapacity int `json:"OnDemandTargetCapacity,omitempty"` + // ReplaceUnhealthyInstances AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-replaceunhealthyinstances ReplaceUnhealthyInstances bool `json:"ReplaceUnhealthyInstances,omitempty"` + // SpotMaintenanceStrategies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotmaintenancestrategies + SpotMaintenanceStrategies *SpotFleet_SpotMaintenanceStrategies `json:"SpotMaintenanceStrategies,omitempty"` + + // SpotMaxTotalPrice AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotmaxtotalprice + SpotMaxTotalPrice string `json:"SpotMaxTotalPrice,omitempty"` + // SpotPrice AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotprice diff --git a/cloudformation/ec2/aws-ec2-spotfleet_spotmaintenancestrategies.go b/cloudformation/ec2/aws-ec2-spotfleet_spotmaintenancestrategies.go new file mode 100644 index 0000000000..1c278da6f1 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-spotfleet_spotmaintenancestrategies.go @@ -0,0 +1,35 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SpotFleet_SpotMaintenanceStrategies AWS CloudFormation Resource (AWS::EC2::SpotFleet.SpotMaintenanceStrategies) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotmaintenancestrategies.html +type SpotFleet_SpotMaintenanceStrategies struct { + + // CapacityRebalance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotmaintenancestrategies.html#cfn-ec2-spotfleet-spotmaintenancestrategies-capacityrebalance + CapacityRebalance *SpotFleet_SpotCapacityRebalance `json:"CapacityRebalance,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SpotFleet_SpotMaintenanceStrategies) AWSCloudFormationType() string { + return "AWS::EC2::SpotFleet.SpotMaintenanceStrategies" +} diff --git a/cloudformation/ec2/aws-ec2-transitgatewayconnect.go b/cloudformation/ec2/aws-ec2-transitgatewayconnect.go new file mode 100644 index 0000000000..85a24b70fd --- /dev/null +++ b/cloudformation/ec2/aws-ec2-transitgatewayconnect.go @@ -0,0 +1,117 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// TransitGatewayConnect AWS CloudFormation Resource (AWS::EC2::TransitGatewayConnect) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html +type TransitGatewayConnect struct { + + // Options AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html#cfn-ec2-transitgatewayconnect-options + Options *TransitGatewayConnect_TransitGatewayConnectOptions `json:"Options,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html#cfn-ec2-transitgatewayconnect-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TransportTransitGatewayAttachmentId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html#cfn-ec2-transitgatewayconnect-transporttransitgatewayattachmentid + TransportTransitGatewayAttachmentId string `json:"TransportTransitGatewayAttachmentId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TransitGatewayConnect) AWSCloudFormationType() string { + return "AWS::EC2::TransitGatewayConnect" +} + +// 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 TransitGatewayConnect) MarshalJSON() ([]byte, error) { + type Properties TransitGatewayConnect + return json.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 *TransitGatewayConnect) UnmarshalJSON(b []byte) error { + type Properties TransitGatewayConnect + 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 = TransitGatewayConnect(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-transitgatewayconnect_transitgatewayconnectoptions.go b/cloudformation/ec2/aws-ec2-transitgatewayconnect_transitgatewayconnectoptions.go new file mode 100644 index 0000000000..cff45c6c05 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-transitgatewayconnect_transitgatewayconnectoptions.go @@ -0,0 +1,35 @@ +package ec2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TransitGatewayConnect_TransitGatewayConnectOptions AWS CloudFormation Resource (AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnect-transitgatewayconnectoptions.html +type TransitGatewayConnect_TransitGatewayConnectOptions struct { + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnect-transitgatewayconnectoptions.html#cfn-ec2-transitgatewayconnect-transitgatewayconnectoptions-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 *TransitGatewayConnect_TransitGatewayConnectOptions) AWSCloudFormationType() string { + return "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" +} diff --git a/cloudformation/ec2/aws-ec2-transitgatewaymulticastdomain.go b/cloudformation/ec2/aws-ec2-transitgatewaymulticastdomain.go new file mode 100644 index 0000000000..869d846604 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-transitgatewaymulticastdomain.go @@ -0,0 +1,117 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// TransitGatewayMulticastDomain AWS CloudFormation Resource (AWS::EC2::TransitGatewayMulticastDomain) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html +type TransitGatewayMulticastDomain struct { + + // Options AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html#cfn-ec2-transitgatewaymulticastdomain-options + Options interface{} `json:"Options,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html#cfn-ec2-transitgatewaymulticastdomain-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TransitGatewayId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html#cfn-ec2-transitgatewaymulticastdomain-transitgatewayid + TransitGatewayId string `json:"TransitGatewayId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TransitGatewayMulticastDomain) AWSCloudFormationType() string { + return "AWS::EC2::TransitGatewayMulticastDomain" +} + +// 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 TransitGatewayMulticastDomain) MarshalJSON() ([]byte, error) { + type Properties TransitGatewayMulticastDomain + return json.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 *TransitGatewayMulticastDomain) UnmarshalJSON(b []byte) error { + type Properties TransitGatewayMulticastDomain + 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 = TransitGatewayMulticastDomain(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-transitgatewaymulticastdomainassociation.go b/cloudformation/ec2/aws-ec2-transitgatewaymulticastdomainassociation.go new file mode 100644 index 0000000000..1bfd4c108a --- /dev/null +++ b/cloudformation/ec2/aws-ec2-transitgatewaymulticastdomainassociation.go @@ -0,0 +1,116 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TransitGatewayMulticastDomainAssociation AWS CloudFormation Resource (AWS::EC2::TransitGatewayMulticastDomainAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html +type TransitGatewayMulticastDomainAssociation struct { + + // SubnetId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-subnetid + SubnetId string `json:"SubnetId,omitempty"` + + // TransitGatewayAttachmentId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-transitgatewayattachmentid + TransitGatewayAttachmentId string `json:"TransitGatewayAttachmentId,omitempty"` + + // TransitGatewayMulticastDomainId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-transitgatewaymulticastdomainid + TransitGatewayMulticastDomainId string `json:"TransitGatewayMulticastDomainId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TransitGatewayMulticastDomainAssociation) AWSCloudFormationType() string { + return "AWS::EC2::TransitGatewayMulticastDomainAssociation" +} + +// 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 TransitGatewayMulticastDomainAssociation) MarshalJSON() ([]byte, error) { + type Properties TransitGatewayMulticastDomainAssociation + return json.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 *TransitGatewayMulticastDomainAssociation) UnmarshalJSON(b []byte) error { + type Properties TransitGatewayMulticastDomainAssociation + 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 = TransitGatewayMulticastDomainAssociation(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupmember.go b/cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupmember.go new file mode 100644 index 0000000000..e163b17c45 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupmember.go @@ -0,0 +1,116 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TransitGatewayMulticastGroupMember AWS CloudFormation Resource (AWS::EC2::TransitGatewayMulticastGroupMember) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html +type TransitGatewayMulticastGroupMember struct { + + // GroupIpAddress AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-groupipaddress + GroupIpAddress string `json:"GroupIpAddress,omitempty"` + + // NetworkInterfaceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-networkinterfaceid + NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"` + + // TransitGatewayMulticastDomainId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-transitgatewaymulticastdomainid + TransitGatewayMulticastDomainId string `json:"TransitGatewayMulticastDomainId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TransitGatewayMulticastGroupMember) AWSCloudFormationType() string { + return "AWS::EC2::TransitGatewayMulticastGroupMember" +} + +// 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 TransitGatewayMulticastGroupMember) MarshalJSON() ([]byte, error) { + type Properties TransitGatewayMulticastGroupMember + return json.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 *TransitGatewayMulticastGroupMember) UnmarshalJSON(b []byte) error { + type Properties TransitGatewayMulticastGroupMember + 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 = TransitGatewayMulticastGroupMember(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupsource.go b/cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupsource.go new file mode 100644 index 0000000000..ea31081389 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-transitgatewaymulticastgroupsource.go @@ -0,0 +1,116 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TransitGatewayMulticastGroupSource AWS CloudFormation Resource (AWS::EC2::TransitGatewayMulticastGroupSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html +type TransitGatewayMulticastGroupSource struct { + + // GroupIpAddress AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-groupipaddress + GroupIpAddress string `json:"GroupIpAddress,omitempty"` + + // NetworkInterfaceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-networkinterfaceid + NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"` + + // TransitGatewayMulticastDomainId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-transitgatewaymulticastdomainid + TransitGatewayMulticastDomainId string `json:"TransitGatewayMulticastDomainId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TransitGatewayMulticastGroupSource) AWSCloudFormationType() string { + return "AWS::EC2::TransitGatewayMulticastGroupSource" +} + +// 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 TransitGatewayMulticastGroupSource) MarshalJSON() ([]byte, error) { + type Properties TransitGatewayMulticastGroupSource + return json.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 *TransitGatewayMulticastGroupSource) UnmarshalJSON(b []byte) error { + type Properties TransitGatewayMulticastGroupSource + 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 = TransitGatewayMulticastGroupSource(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ec2/aws-ec2-volume.go b/cloudformation/ec2/aws-ec2-volume.go index 096186c530..b32d38aaec 100644 --- a/cloudformation/ec2/aws-ec2-volume.go +++ b/cloudformation/ec2/aws-ec2-volume.go @@ -63,6 +63,11 @@ type Volume struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-tags Tags []tags.Tag `json:"Tags,omitempty"` + // Throughput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-throughput + Throughput int `json:"Throughput,omitempty"` + // VolumeType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-volumetype diff --git a/cloudformation/ec2/aws-ec2-vpcendpointservice.go b/cloudformation/ec2/aws-ec2-vpcendpointservice.go index 31fa9cc250..94dbb45a4c 100644 --- a/cloudformation/ec2/aws-ec2-vpcendpointservice.go +++ b/cloudformation/ec2/aws-ec2-vpcendpointservice.go @@ -17,6 +17,11 @@ type VPCEndpointService struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-acceptancerequired AcceptanceRequired bool `json:"AcceptanceRequired,omitempty"` + // GatewayLoadBalancerArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-gatewayloadbalancerarns + GatewayLoadBalancerArns []string `json:"GatewayLoadBalancerArns,omitempty"` + // NetworkLoadBalancerArns AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-networkloadbalancerarns diff --git a/cloudformation/ecr/aws-ecr-publicrepository.go b/cloudformation/ecr/aws-ecr-publicrepository.go new file mode 100644 index 0000000000..689dcb407e --- /dev/null +++ b/cloudformation/ecr/aws-ecr-publicrepository.go @@ -0,0 +1,122 @@ +package ecr + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// PublicRepository AWS CloudFormation Resource (AWS::ECR::PublicRepository) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html +type PublicRepository struct { + + // RepositoryCatalogData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html#cfn-ecr-publicrepository-repositorycatalogdata + RepositoryCatalogData interface{} `json:"RepositoryCatalogData,omitempty"` + + // RepositoryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html#cfn-ecr-publicrepository-repositoryname + RepositoryName string `json:"RepositoryName,omitempty"` + + // RepositoryPolicyText AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html#cfn-ecr-publicrepository-repositorypolicytext + RepositoryPolicyText interface{} `json:"RepositoryPolicyText,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html#cfn-ecr-publicrepository-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 *PublicRepository) AWSCloudFormationType() string { + return "AWS::ECR::PublicRepository" +} + +// 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 PublicRepository) MarshalJSON() ([]byte, error) { + type Properties PublicRepository + return json.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 *PublicRepository) UnmarshalJSON(b []byte) error { + type Properties PublicRepository + 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 = PublicRepository(*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/ecr/aws-ecr-registrypolicy.go b/cloudformation/ecr/aws-ecr-registrypolicy.go new file mode 100644 index 0000000000..f1044fcd5c --- /dev/null +++ b/cloudformation/ecr/aws-ecr-registrypolicy.go @@ -0,0 +1,106 @@ +package ecr + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RegistryPolicy AWS CloudFormation Resource (AWS::ECR::RegistryPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html +type RegistryPolicy struct { + + // PolicyText AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html#cfn-ecr-registrypolicy-policytext + PolicyText interface{} `json:"PolicyText,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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::ECR::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/ecr/aws-ecr-replicationconfiguration.go b/cloudformation/ecr/aws-ecr-replicationconfiguration.go new file mode 100644 index 0000000000..f9b0946272 --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration.go @@ -0,0 +1,106 @@ +package ecr + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html +type ReplicationConfiguration struct { + + // ReplicationConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html#cfn-ecr-replicationconfiguration-replicationconfiguration + ReplicationConfiguration *ReplicationConfiguration_ReplicationConfiguration `json:"ReplicationConfiguration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ReplicationConfiguration) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration" +} + +// 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 ReplicationConfiguration) MarshalJSON() ([]byte, error) { + type Properties ReplicationConfiguration + return json.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 *ReplicationConfiguration) UnmarshalJSON(b []byte) error { + type Properties ReplicationConfiguration + 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 = ReplicationConfiguration(*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/ecr/aws-ecr-replicationconfiguration_replicationconfiguration.go b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationconfiguration.go new file mode 100644 index 0000000000..b6660623df --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationconfiguration.go @@ -0,0 +1,35 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration_ReplicationConfiguration AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration.ReplicationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationconfiguration.html +type ReplicationConfiguration_ReplicationConfiguration struct { + + // Rules AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationconfiguration.html#cfn-ecr-replicationconfiguration-replicationconfiguration-rules + Rules []ReplicationConfiguration_ReplicationRule `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 *ReplicationConfiguration_ReplicationConfiguration) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" +} diff --git a/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationdestination.go b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationdestination.go new file mode 100644 index 0000000000..54f8f71d5d --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationdestination.go @@ -0,0 +1,40 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration_ReplicationDestination AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration.ReplicationDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html +type ReplicationConfiguration_ReplicationDestination struct { + + // Region AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html#cfn-ecr-replicationconfiguration-replicationdestination-region + Region string `json:"Region,omitempty"` + + // RegistryId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html#cfn-ecr-replicationconfiguration-replicationdestination-registryid + RegistryId string `json:"RegistryId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ReplicationConfiguration_ReplicationDestination) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration.ReplicationDestination" +} diff --git a/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationrule.go b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationrule.go new file mode 100644 index 0000000000..0c60204caa --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationrule.go @@ -0,0 +1,35 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration_ReplicationRule AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration.ReplicationRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationrule.html +type ReplicationConfiguration_ReplicationRule struct { + + // Destinations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationrule.html#cfn-ecr-replicationconfiguration-replicationrule-destinations + Destinations []ReplicationConfiguration_ReplicationDestination `json:"Destinations,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ReplicationConfiguration_ReplicationRule) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration.ReplicationRule" +} diff --git a/cloudformation/ecs/aws-ecs-service_deploymentcircuitbreaker.go b/cloudformation/ecs/aws-ecs-service_deploymentcircuitbreaker.go new file mode 100644 index 0000000000..052b9692a4 --- /dev/null +++ b/cloudformation/ecs/aws-ecs-service_deploymentcircuitbreaker.go @@ -0,0 +1,40 @@ +package ecs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Service_DeploymentCircuitBreaker AWS CloudFormation Resource (AWS::ECS::Service.DeploymentCircuitBreaker) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcircuitbreaker.html +type Service_DeploymentCircuitBreaker struct { + + // Enable AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcircuitbreaker.html#cfn-ecs-service-deploymentcircuitbreaker-enable + Enable bool `json:"Enable"` + + // Rollback AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcircuitbreaker.html#cfn-ecs-service-deploymentcircuitbreaker-rollback + Rollback bool `json:"Rollback"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Service_DeploymentCircuitBreaker) AWSCloudFormationType() string { + return "AWS::ECS::Service.DeploymentCircuitBreaker" +} diff --git a/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go b/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go index 7c958b6ec9..e9ffab2fed 100644 --- a/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go +++ b/cloudformation/ecs/aws-ecs-service_deploymentconfiguration.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html type Service_DeploymentConfiguration struct { + // DeploymentCircuitBreaker AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-deploymentcircuitbreaker + DeploymentCircuitBreaker *Service_DeploymentCircuitBreaker `json:"DeploymentCircuitBreaker,omitempty"` + // MaximumPercent AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-maximumpercent diff --git a/cloudformation/eks/aws-eks-addon.go b/cloudformation/eks/aws-eks-addon.go new file mode 100644 index 0000000000..1b005b4fe6 --- /dev/null +++ b/cloudformation/eks/aws-eks-addon.go @@ -0,0 +1,132 @@ +package eks + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Addon AWS CloudFormation Resource (AWS::EKS::Addon) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html +type Addon struct { + + // AddonName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html#cfn-eks-addon-addonname + AddonName string `json:"AddonName,omitempty"` + + // AddonVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html#cfn-eks-addon-addonversion + AddonVersion string `json:"AddonVersion,omitempty"` + + // ClusterName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html#cfn-eks-addon-clustername + ClusterName string `json:"ClusterName,omitempty"` + + // ResolveConflicts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html#cfn-eks-addon-resolveconflicts + ResolveConflicts string `json:"ResolveConflicts,omitempty"` + + // ServiceAccountRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html#cfn-eks-addon-serviceaccountrolearn + ServiceAccountRoleArn string `json:"ServiceAccountRoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html#cfn-eks-addon-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 *Addon) AWSCloudFormationType() string { + return "AWS::EKS::Addon" +} + +// 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 Addon) MarshalJSON() ([]byte, error) { + type Properties Addon + return json.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 *Addon) UnmarshalJSON(b []byte) error { + type Properties Addon + 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 = Addon(*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/eks/aws-eks-nodegroup.go b/cloudformation/eks/aws-eks-nodegroup.go index 85828eef69..f1c71e40e9 100644 --- a/cloudformation/eks/aws-eks-nodegroup.go +++ b/cloudformation/eks/aws-eks-nodegroup.go @@ -17,6 +17,11 @@ type Nodegroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-amitype AmiType string `json:"AmiType,omitempty"` + // CapacityType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-capacitytype + CapacityType string `json:"CapacityType,omitempty"` + // ClusterName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-clustername diff --git a/cloudformation/elasticache/aws-elasticache-globalreplicationgroup.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup.go new file mode 100644 index 0000000000..a5c8ea685c --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup.go @@ -0,0 +1,146 @@ +package elasticache + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html +type GlobalReplicationGroup struct { + + // AutomaticFailoverEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-automaticfailoverenabled + AutomaticFailoverEnabled bool `json:"AutomaticFailoverEnabled,omitempty"` + + // CacheNodeType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-cachenodetype + CacheNodeType string `json:"CacheNodeType,omitempty"` + + // CacheParameterGroupName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-cacheparametergroupname + CacheParameterGroupName string `json:"CacheParameterGroupName,omitempty"` + + // EngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-engineversion + EngineVersion string `json:"EngineVersion,omitempty"` + + // GlobalNodeGroupCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalnodegroupcount + GlobalNodeGroupCount int `json:"GlobalNodeGroupCount,omitempty"` + + // GlobalReplicationGroupDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupdescription + GlobalReplicationGroupDescription string `json:"GlobalReplicationGroupDescription,omitempty"` + + // GlobalReplicationGroupIdSuffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupidsuffix + GlobalReplicationGroupIdSuffix string `json:"GlobalReplicationGroupIdSuffix,omitempty"` + + // Members AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-members + Members []GlobalReplicationGroup_GlobalReplicationGroupMember `json:"Members,omitempty"` + + // RegionalConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-regionalconfigurations + RegionalConfigurations []GlobalReplicationGroup_RegionalConfiguration `json:"RegionalConfigurations,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GlobalReplicationGroup) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup" +} + +// 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 GlobalReplicationGroup) MarshalJSON() ([]byte, error) { + type Properties GlobalReplicationGroup + return json.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 *GlobalReplicationGroup) UnmarshalJSON(b []byte) error { + type Properties GlobalReplicationGroup + 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 = GlobalReplicationGroup(*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/elasticache/aws-elasticache-globalreplicationgroup_globalreplicationgroupmember.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_globalreplicationgroupmember.go new file mode 100644 index 0000000000..c84fd6472e --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_globalreplicationgroupmember.go @@ -0,0 +1,45 @@ +package elasticache + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup_GlobalReplicationGroupMember AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html +type GlobalReplicationGroup_GlobalReplicationGroupMember struct { + + // ReplicationGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupid + ReplicationGroupId string `json:"ReplicationGroupId,omitempty"` + + // ReplicationGroupRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupregion + ReplicationGroupRegion string `json:"ReplicationGroupRegion,omitempty"` + + // Role AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-role + Role string `json:"Role,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GlobalReplicationGroup_GlobalReplicationGroupMember) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" +} diff --git a/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_regionalconfiguration.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_regionalconfiguration.go new file mode 100644 index 0000000000..f362933bb7 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_regionalconfiguration.go @@ -0,0 +1,45 @@ +package elasticache + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup_RegionalConfiguration AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html +type GlobalReplicationGroup_RegionalConfiguration struct { + + // ReplicationGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupid + ReplicationGroupId string `json:"ReplicationGroupId,omitempty"` + + // ReplicationGroupRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupregion + ReplicationGroupRegion string `json:"ReplicationGroupRegion,omitempty"` + + // ReshardingConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-reshardingconfigurations + ReshardingConfigurations []GlobalReplicationGroup_ReshardingConfiguration `json:"ReshardingConfigurations,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GlobalReplicationGroup_RegionalConfiguration) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" +} diff --git a/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_reshardingconfiguration.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_reshardingconfiguration.go new file mode 100644 index 0000000000..b54efb5811 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_reshardingconfiguration.go @@ -0,0 +1,40 @@ +package elasticache + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup_ReshardingConfiguration AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html +type GlobalReplicationGroup_ReshardingConfiguration struct { + + // NodeGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-nodegroupid + NodeGroupId string `json:"NodeGroupId,omitempty"` + + // PreferredAvailabilityZones AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-preferredavailabilityzones + PreferredAvailabilityZones []string `json:"PreferredAvailabilityZones,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GlobalReplicationGroup_ReshardingConfiguration) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" +} diff --git a/cloudformation/elasticache/aws-elasticache-replicationgroup.go b/cloudformation/elasticache/aws-elasticache-replicationgroup.go index e4bc0c4a49..1b4eaa5fac 100644 --- a/cloudformation/elasticache/aws-elasticache-replicationgroup.go +++ b/cloudformation/elasticache/aws-elasticache-replicationgroup.go @@ -173,6 +173,11 @@ type ReplicationGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-transitencryptionenabled TransitEncryptionEnabled bool `json:"TransitEncryptionEnabled,omitempty"` + // UserGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-usergroupids + UserGroupIds []string `json:"UserGroupIds,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/elasticache/aws-elasticache-user.go b/cloudformation/elasticache/aws-elasticache-user.go new file mode 100644 index 0000000000..199abd3fc0 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-user.go @@ -0,0 +1,131 @@ +package elasticache + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// User AWS CloudFormation Resource (AWS::ElastiCache::User) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html +type User struct { + + // AccessString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-accessstring + AccessString string `json:"AccessString,omitempty"` + + // Engine AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-engine + Engine string `json:"Engine,omitempty"` + + // NoPasswordRequired AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-nopasswordrequired + NoPasswordRequired bool `json:"NoPasswordRequired,omitempty"` + + // Passwords AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-passwords + Passwords []string `json:"Passwords,omitempty"` + + // UserId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-userid + UserId string `json:"UserId,omitempty"` + + // UserName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-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 *User) AWSCloudFormationType() string { + return "AWS::ElastiCache::User" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *User) UnmarshalJSON(b []byte) error { + type Properties User + 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 = User(*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/elasticache/aws-elasticache-usergroup.go b/cloudformation/elasticache/aws-elasticache-usergroup.go new file mode 100644 index 0000000000..c25643e527 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-usergroup.go @@ -0,0 +1,116 @@ +package elasticache + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserGroup AWS CloudFormation Resource (AWS::ElastiCache::UserGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html +type UserGroup struct { + + // Engine AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-engine + Engine string `json:"Engine,omitempty"` + + // UserGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-usergroupid + UserGroupId string `json:"UserGroupId,omitempty"` + + // UserIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-userids + UserIds []string `json:"UserIds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserGroup) AWSCloudFormationType() string { + return "AWS::ElastiCache::UserGroup" +} + +// 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 UserGroup) MarshalJSON() ([]byte, error) { + type Properties UserGroup + return json.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 *UserGroup) UnmarshalJSON(b []byte) error { + type Properties UserGroup + 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 = UserGroup(*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/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go index 8f56942663..e210e89173 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_action.go @@ -5,47 +5,47 @@ import ( ) // Listener_Action AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::Listener.Action) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html type Listener_Action struct { // AuthenticateCognitoConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticatecognitoconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-authenticatecognitoconfig AuthenticateCognitoConfig *Listener_AuthenticateCognitoConfig `json:"AuthenticateCognitoConfig,omitempty"` // AuthenticateOidcConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticateoidcconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-authenticateoidcconfig AuthenticateOidcConfig *Listener_AuthenticateOidcConfig `json:"AuthenticateOidcConfig,omitempty"` // FixedResponseConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-fixedresponseconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-fixedresponseconfig FixedResponseConfig *Listener_FixedResponseConfig `json:"FixedResponseConfig,omitempty"` // ForwardConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-forwardconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-forwardconfig ForwardConfig *Listener_ForwardConfig `json:"ForwardConfig,omitempty"` // Order AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-order + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-order Order int `json:"Order,omitempty"` // RedirectConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-redirectconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-redirectconfig RedirectConfig *Listener_RedirectConfig `json:"RedirectConfig,omitempty"` // TargetGroupArn AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-targetgrouparn + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-targetgrouparn TargetGroupArn string `json:"TargetGroupArn,omitempty"` // Type AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-type + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html#cfn-elasticloadbalancingv2-listener-action-type Type string `json:"Type,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go index 34d5bb728c..cd1045047a 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticatecognitoconfig.go @@ -31,7 +31,7 @@ type Listener_AuthenticateCognitoConfig struct { // SessionTimeout AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-sessiontimeout - SessionTimeout int64 `json:"SessionTimeout,omitempty"` + SessionTimeout string `json:"SessionTimeout,omitempty"` // UserPoolArn AWS CloudFormation Property // Required: true diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go index 2d6bc1c2c6..1b6135bc95 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_authenticateoidcconfig.go @@ -51,7 +51,7 @@ type Listener_AuthenticateOidcConfig struct { // SessionTimeout AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-sessiontimeout - SessionTimeout int64 `json:"SessionTimeout,omitempty"` + SessionTimeout string `json:"SessionTimeout,omitempty"` // TokenEndpoint AWS CloudFormation Property // Required: true diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go index 2c4ec95237..0c91bd3c07 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_certificate.go @@ -5,12 +5,12 @@ import ( ) // Listener_Certificate AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::Listener.Certificate) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificate.html type Listener_Certificate struct { // CertificateArn AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html#cfn-elasticloadbalancingv2-listener-certificates-certificatearn + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificate.html#cfn-elasticloadbalancingv2-listener-certificate-certificatearn CertificateArn string `json:"CertificateArn,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go index 8d98750fd8..18b38d3222 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_action.go @@ -5,47 +5,47 @@ import ( ) // ListenerRule_Action AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::ListenerRule.Action) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html type ListenerRule_Action struct { // AuthenticateCognitoConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticatecognitoconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticatecognitoconfig AuthenticateCognitoConfig *ListenerRule_AuthenticateCognitoConfig `json:"AuthenticateCognitoConfig,omitempty"` // AuthenticateOidcConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticateoidcconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticateoidcconfig AuthenticateOidcConfig *ListenerRule_AuthenticateOidcConfig `json:"AuthenticateOidcConfig,omitempty"` // FixedResponseConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-fixedresponseconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-fixedresponseconfig FixedResponseConfig *ListenerRule_FixedResponseConfig `json:"FixedResponseConfig,omitempty"` // ForwardConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-forwardconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-forwardconfig ForwardConfig *ListenerRule_ForwardConfig `json:"ForwardConfig,omitempty"` // Order AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-order + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-order Order int `json:"Order,omitempty"` // RedirectConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-redirectconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-redirectconfig RedirectConfig *ListenerRule_RedirectConfig `json:"RedirectConfig,omitempty"` // TargetGroupArn AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-targetgrouparn + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-targetgrouparn TargetGroupArn string `json:"TargetGroupArn,omitempty"` // Type AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-type + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-action.html#cfn-elasticloadbalancingv2-listenerrule-action-type Type string `json:"Type,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go index fe2779b0e1..86cca64bde 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticatecognitoconfig.go @@ -31,7 +31,7 @@ type ListenerRule_AuthenticateCognitoConfig struct { // SessionTimeout AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-sessiontimeout - SessionTimeout int64 `json:"SessionTimeout,omitempty"` + SessionTimeout int `json:"SessionTimeout,omitempty"` // UserPoolArn AWS CloudFormation Property // Required: true diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go index 19d94890b4..0129aa52e5 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_authenticateoidcconfig.go @@ -51,13 +51,18 @@ type ListenerRule_AuthenticateOidcConfig struct { // SessionTimeout AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-sessiontimeout - SessionTimeout int64 `json:"SessionTimeout,omitempty"` + SessionTimeout int `json:"SessionTimeout,omitempty"` // TokenEndpoint AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-tokenendpoint TokenEndpoint string `json:"TokenEndpoint,omitempty"` + // UseExistingClientSecret AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-useexistingclientsecret + UseExistingClientSecret bool `json:"UseExistingClientSecret,omitempty"` + // UserInfoEndpoint AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-userinfoendpoint diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go index f28338c825..0a3828f547 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listenerrule_rulecondition.go @@ -5,47 +5,47 @@ import ( ) // ListenerRule_RuleCondition AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html type ListenerRule_RuleCondition struct { // Field AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-conditions-field + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-field Field string `json:"Field,omitempty"` // HostHeaderConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-hostheaderconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-hostheaderconfig HostHeaderConfig *ListenerRule_HostHeaderConfig `json:"HostHeaderConfig,omitempty"` // HttpHeaderConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httpheaderconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httpheaderconfig HttpHeaderConfig *ListenerRule_HttpHeaderConfig `json:"HttpHeaderConfig,omitempty"` // HttpRequestMethodConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httprequestmethodconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httprequestmethodconfig HttpRequestMethodConfig *ListenerRule_HttpRequestMethodConfig `json:"HttpRequestMethodConfig,omitempty"` // PathPatternConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-pathpatternconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-pathpatternconfig PathPatternConfig *ListenerRule_PathPatternConfig `json:"PathPatternConfig,omitempty"` // QueryStringConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-querystringconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-querystringconfig QueryStringConfig *ListenerRule_QueryStringConfig `json:"QueryStringConfig,omitempty"` // SourceIpConfig AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-sourceipconfig + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-sourceipconfig SourceIpConfig *ListenerRule_SourceIpConfig `json:"SourceIpConfig,omitempty"` // Values AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-conditions-values + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-rulecondition.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-values Values []string `json:"Values,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go index 47a2655c04..f33a8791b9 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup.go @@ -68,6 +68,11 @@ type TargetGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-protocol Protocol string `json:"Protocol,omitempty"` + // ProtocolVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-protocolversion + ProtocolVersion string `json:"ProtocolVersion,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-tags diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go index 58aa3062d5..be76c40cd5 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-targetgroup_matcher.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html type TargetGroup_Matcher struct { + // GrpcCode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html#cfn-elasticloadbalancingv2-targetgroup-matcher-grpccode + GrpcCode string `json:"GrpcCode,omitempty"` + // HttpCode AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html#cfn-elasticloadbalancingv2-targetgroup-matcher-httpcode diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go index 4461fcc052..d5d2ab743a 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_domainendpointoptions.go @@ -8,6 +8,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html type Domain_DomainEndpointOptions struct { + // CustomEndpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-customendpoint + CustomEndpoint string `json:"CustomEndpoint,omitempty"` + + // CustomEndpointCertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-customendpointcertificatearn + CustomEndpointCertificateArn string `json:"CustomEndpointCertificateArn,omitempty"` + + // CustomEndpointEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-customendpointenabled + CustomEndpointEnabled bool `json:"CustomEndpointEnabled,omitempty"` + // EnforceHTTPS AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-enforcehttps diff --git a/cloudformation/emr/aws-emr-studio.go b/cloudformation/emr/aws-emr-studio.go new file mode 100644 index 0000000000..6de052a020 --- /dev/null +++ b/cloudformation/emr/aws-emr-studio.go @@ -0,0 +1,157 @@ +package emr + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Studio AWS CloudFormation Resource (AWS::EMR::Studio) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html +type Studio struct { + + // AuthMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-authmode + AuthMode string `json:"AuthMode,omitempty"` + + // DefaultS3Location AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-defaults3location + DefaultS3Location string `json:"DefaultS3Location,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-description + Description string `json:"Description,omitempty"` + + // EngineSecurityGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-enginesecuritygroupid + EngineSecurityGroupId string `json:"EngineSecurityGroupId,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-name + Name string `json:"Name,omitempty"` + + // ServiceRole AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-servicerole + ServiceRole string `json:"ServiceRole,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-subnetids + SubnetIds []string `json:"SubnetIds,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // UserRole AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-userrole + UserRole string `json:"UserRole,omitempty"` + + // VpcId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-vpcid + VpcId string `json:"VpcId,omitempty"` + + // WorkspaceSecurityGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-workspacesecuritygroupid + WorkspaceSecurityGroupId string `json:"WorkspaceSecurityGroupId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Studio) AWSCloudFormationType() string { + return "AWS::EMR::Studio" +} + +// 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 Studio) MarshalJSON() ([]byte, error) { + type Properties Studio + return json.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 *Studio) UnmarshalJSON(b []byte) error { + type Properties Studio + 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 = Studio(*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/emr/aws-emr-studiosessionmapping.go b/cloudformation/emr/aws-emr-studiosessionmapping.go new file mode 100644 index 0000000000..bd54c5a9f7 --- /dev/null +++ b/cloudformation/emr/aws-emr-studiosessionmapping.go @@ -0,0 +1,121 @@ +package emr + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StudioSessionMapping AWS CloudFormation Resource (AWS::EMR::StudioSessionMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html +type StudioSessionMapping struct { + + // IdentityName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html#cfn-emr-studiosessionmapping-identityname + IdentityName string `json:"IdentityName,omitempty"` + + // IdentityType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html#cfn-emr-studiosessionmapping-identitytype + IdentityType string `json:"IdentityType,omitempty"` + + // SessionPolicyArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html#cfn-emr-studiosessionmapping-sessionpolicyarn + SessionPolicyArn string `json:"SessionPolicyArn,omitempty"` + + // StudioId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html#cfn-emr-studiosessionmapping-studioid + StudioId string `json:"StudioId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StudioSessionMapping) AWSCloudFormationType() string { + return "AWS::EMR::StudioSessionMapping" +} + +// 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 StudioSessionMapping) MarshalJSON() ([]byte, error) { + type Properties StudioSessionMapping + return json.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 *StudioSessionMapping) UnmarshalJSON(b []byte) error { + type Properties StudioSessionMapping + 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 = StudioSessionMapping(*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/emrcontainers/aws-emrcontainers-virtualcluster.go b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster.go new file mode 100644 index 0000000000..0eda7925af --- /dev/null +++ b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster.go @@ -0,0 +1,117 @@ +package emrcontainers + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// VirtualCluster AWS CloudFormation Resource (AWS::EMRContainers::VirtualCluster) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html +type VirtualCluster struct { + + // ContainerProvider AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-containerprovider + ContainerProvider *VirtualCluster_ContainerProvider `json:"ContainerProvider,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-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 *VirtualCluster) AWSCloudFormationType() string { + return "AWS::EMRContainers::VirtualCluster" +} + +// 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 VirtualCluster) MarshalJSON() ([]byte, error) { + type Properties VirtualCluster + return json.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 *VirtualCluster) UnmarshalJSON(b []byte) error { + type Properties VirtualCluster + 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 = VirtualCluster(*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/emrcontainers/aws-emrcontainers-virtualcluster_containerinfo.go b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_containerinfo.go new file mode 100644 index 0000000000..1ec3cc906b --- /dev/null +++ b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_containerinfo.go @@ -0,0 +1,35 @@ +package emrcontainers + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualCluster_ContainerInfo AWS CloudFormation Resource (AWS::EMRContainers::VirtualCluster.ContainerInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html +type VirtualCluster_ContainerInfo struct { + + // EksInfo AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html#cfn-emrcontainers-virtualcluster-containerinfo-eksinfo + EksInfo *VirtualCluster_EksInfo `json:"EksInfo,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualCluster_ContainerInfo) AWSCloudFormationType() string { + return "AWS::EMRContainers::VirtualCluster.ContainerInfo" +} diff --git a/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_containerprovider.go b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_containerprovider.go new file mode 100644 index 0000000000..c11b031019 --- /dev/null +++ b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_containerprovider.go @@ -0,0 +1,45 @@ +package emrcontainers + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualCluster_ContainerProvider AWS CloudFormation Resource (AWS::EMRContainers::VirtualCluster.ContainerProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html +type VirtualCluster_ContainerProvider struct { + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-id + Id string `json:"Id,omitempty"` + + // Info AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-info + Info *VirtualCluster_ContainerInfo `json:"Info,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-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 *VirtualCluster_ContainerProvider) AWSCloudFormationType() string { + return "AWS::EMRContainers::VirtualCluster.ContainerProvider" +} diff --git a/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_eksinfo.go b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_eksinfo.go new file mode 100644 index 0000000000..973d97c995 --- /dev/null +++ b/cloudformation/emrcontainers/aws-emrcontainers-virtualcluster_eksinfo.go @@ -0,0 +1,35 @@ +package emrcontainers + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// VirtualCluster_EksInfo AWS CloudFormation Resource (AWS::EMRContainers::VirtualCluster.EksInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-eksinfo.html +type VirtualCluster_EksInfo struct { + + // Namespace AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-eksinfo.html#cfn-emrcontainers-virtualcluster-eksinfo-namespace + Namespace string `json:"Namespace,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualCluster_EksInfo) AWSCloudFormationType() string { + return "AWS::EMRContainers::VirtualCluster.EksInfo" +} diff --git a/cloudformation/events/aws-events-apidestination.go b/cloudformation/events/aws-events-apidestination.go new file mode 100644 index 0000000000..c96407ea50 --- /dev/null +++ b/cloudformation/events/aws-events-apidestination.go @@ -0,0 +1,131 @@ +package events + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ApiDestination AWS CloudFormation Resource (AWS::Events::ApiDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html +type ApiDestination struct { + + // ConnectionArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-connectionarn + ConnectionArn string `json:"ConnectionArn,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-description + Description string `json:"Description,omitempty"` + + // HttpMethod AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-httpmethod + HttpMethod string `json:"HttpMethod,omitempty"` + + // InvocationEndpoint AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationendpoint + InvocationEndpoint string `json:"InvocationEndpoint,omitempty"` + + // InvocationRateLimitPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationratelimitpersecond + InvocationRateLimitPerSecond int `json:"InvocationRateLimitPerSecond,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-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 *ApiDestination) AWSCloudFormationType() string { + return "AWS::Events::ApiDestination" +} + +// 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 ApiDestination) MarshalJSON() ([]byte, error) { + type Properties ApiDestination + return json.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 *ApiDestination) UnmarshalJSON(b []byte) error { + type Properties ApiDestination + 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 = ApiDestination(*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/events/aws-events-archive.go b/cloudformation/events/aws-events-archive.go new file mode 100644 index 0000000000..a2870c0417 --- /dev/null +++ b/cloudformation/events/aws-events-archive.go @@ -0,0 +1,126 @@ +package events + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Archive AWS CloudFormation Resource (AWS::Events::Archive) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html +type Archive struct { + + // ArchiveName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-archivename + ArchiveName string `json:"ArchiveName,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-description + Description string `json:"Description,omitempty"` + + // EventPattern AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-eventpattern + EventPattern interface{} `json:"EventPattern,omitempty"` + + // RetentionDays AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-retentiondays + RetentionDays int `json:"RetentionDays,omitempty"` + + // SourceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-sourcearn + SourceArn string `json:"SourceArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Archive) AWSCloudFormationType() string { + return "AWS::Events::Archive" +} + +// 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 Archive) MarshalJSON() ([]byte, error) { + type Properties Archive + return json.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 *Archive) UnmarshalJSON(b []byte) error { + type Properties Archive + 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 = Archive(*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/events/aws-events-connection.go b/cloudformation/events/aws-events-connection.go new file mode 100644 index 0000000000..96ef563224 --- /dev/null +++ b/cloudformation/events/aws-events-connection.go @@ -0,0 +1,121 @@ +package events + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Connection AWS CloudFormation Resource (AWS::Events::Connection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html +type Connection struct { + + // AuthParameters AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authparameters + AuthParameters interface{} `json:"AuthParameters,omitempty"` + + // AuthorizationType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authorizationtype + AuthorizationType string `json:"AuthorizationType,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-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 *Connection) AWSCloudFormationType() string { + return "AWS::Events::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/events/aws-events-eventbuspolicy.go b/cloudformation/events/aws-events-eventbuspolicy.go index 4e3d544ac9..49f2da4ccd 100644 --- a/cloudformation/events/aws-events-eventbuspolicy.go +++ b/cloudformation/events/aws-events-eventbuspolicy.go @@ -13,7 +13,7 @@ import ( type EventBusPolicy struct { // Action AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action Action string `json:"Action,omitempty"` @@ -28,10 +28,15 @@ type EventBusPolicy struct { EventBusName string `json:"EventBusName,omitempty"` // Principal AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal Principal string `json:"Principal,omitempty"` + // Statement AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statement + Statement interface{} `json:"Statement,omitempty"` + // StatementId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statementid diff --git a/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go index 00632e1cfd..3798b9cce1 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go @@ -13,6 +13,11 @@ type FileSystem_WindowsConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-activedirectoryid ActiveDirectoryId string `json:"ActiveDirectoryId,omitempty"` + // Aliases AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-aliases + Aliases []string `json:"Aliases,omitempty"` + // AutomaticBackupRetentionDays AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-automaticbackupretentiondays @@ -44,9 +49,9 @@ type FileSystem_WindowsConfiguration struct { SelfManagedActiveDirectoryConfiguration *FileSystem_SelfManagedActiveDirectoryConfiguration `json:"SelfManagedActiveDirectoryConfiguration,omitempty"` // ThroughputCapacity AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-throughputcapacity - ThroughputCapacity int `json:"ThroughputCapacity,omitempty"` + ThroughputCapacity int `json:"ThroughputCapacity"` // WeeklyMaintenanceStartTime AWS CloudFormation Property // Required: false diff --git a/cloudformation/gamelift/aws-gamelift-gameservergroup.go b/cloudformation/gamelift/aws-gamelift-gameservergroup.go index ea2cc2436b..32a5f8de02 100644 --- a/cloudformation/gamelift/aws-gamelift-gameservergroup.go +++ b/cloudformation/gamelift/aws-gamelift-gameservergroup.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // GameServerGroup AWS CloudFormation Resource (AWS::GameLift::GameServerGroup) @@ -40,7 +41,7 @@ type GameServerGroup struct { // InstanceDefinitions AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-instancedefinitions - InstanceDefinitions *GameServerGroup_InstanceDefinitions `json:"InstanceDefinitions,omitempty"` + InstanceDefinitions []GameServerGroup_InstanceDefinition `json:"InstanceDefinitions,omitempty"` // LaunchTemplate AWS CloudFormation Property // Required: true @@ -65,12 +66,12 @@ type GameServerGroup struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-tags - Tags *GameServerGroup_Tags `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // VpcSubnets AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-vpcsubnets - VpcSubnets *GameServerGroup_VpcSubnets `json:"VpcSubnets,omitempty"` + VpcSubnets []string `json:"VpcSubnets,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/glue/aws-glue-connection_connectioninput.go b/cloudformation/glue/aws-glue-connection_connectioninput.go index d4fef87358..41cfee113b 100644 --- a/cloudformation/glue/aws-glue-connection_connectioninput.go +++ b/cloudformation/glue/aws-glue-connection_connectioninput.go @@ -9,7 +9,7 @@ import ( type Connection_ConnectionInput struct { // ConnectionProperties AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectionproperties ConnectionProperties interface{} `json:"ConnectionProperties,omitempty"` diff --git a/cloudformation/glue/aws-glue-crawler_s3target.go b/cloudformation/glue/aws-glue-crawler_s3target.go index f355114bbe..5a8e507f30 100644 --- a/cloudformation/glue/aws-glue-crawler_s3target.go +++ b/cloudformation/glue/aws-glue-crawler_s3target.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html type Crawler_S3Target struct { + // ConnectionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-connectionname + ConnectionName string `json:"ConnectionName,omitempty"` + // Exclusions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-exclusions diff --git a/cloudformation/glue/aws-glue-database_databaseidentifier.go b/cloudformation/glue/aws-glue-database_databaseidentifier.go new file mode 100644 index 0000000000..843ece7d19 --- /dev/null +++ b/cloudformation/glue/aws-glue-database_databaseidentifier.go @@ -0,0 +1,40 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Database_DatabaseIdentifier AWS CloudFormation Resource (AWS::Glue::Database.DatabaseIdentifier) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html +type Database_DatabaseIdentifier struct { + + // CatalogId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html#cfn-glue-database-databaseidentifier-catalogid + CatalogId string `json:"CatalogId,omitempty"` + + // DatabaseName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html#cfn-glue-database-databaseidentifier-databasename + DatabaseName string `json:"DatabaseName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Database_DatabaseIdentifier) AWSCloudFormationType() string { + return "AWS::Glue::Database.DatabaseIdentifier" +} diff --git a/cloudformation/glue/aws-glue-database_databaseinput.go b/cloudformation/glue/aws-glue-database_databaseinput.go index 3065b2bdb0..4a4c36f302 100644 --- a/cloudformation/glue/aws-glue-database_databaseinput.go +++ b/cloudformation/glue/aws-glue-database_databaseinput.go @@ -28,6 +28,11 @@ type Database_DatabaseInput struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-parameters Parameters interface{} `json:"Parameters,omitempty"` + // TargetDatabase AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-targetdatabase + TargetDatabase *Database_DatabaseIdentifier `json:"TargetDatabase,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/glue/aws-glue-mltransform.go b/cloudformation/glue/aws-glue-mltransform.go index 451ef84d0f..dc06fd10b8 100644 --- a/cloudformation/glue/aws-glue-mltransform.go +++ b/cloudformation/glue/aws-glue-mltransform.go @@ -62,6 +62,11 @@ type MLTransform struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-timeout Timeout int `json:"Timeout,omitempty"` + // TransformEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-transformencryption + TransformEncryption *MLTransform_TransformEncryption `json:"TransformEncryption,omitempty"` + // TransformParameters AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-transformparameters diff --git a/cloudformation/glue/aws-glue-mltransform_mluserdataencryption.go b/cloudformation/glue/aws-glue-mltransform_mluserdataencryption.go new file mode 100644 index 0000000000..4491bdfd3e --- /dev/null +++ b/cloudformation/glue/aws-glue-mltransform_mluserdataencryption.go @@ -0,0 +1,40 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MLTransform_MLUserDataEncryption AWS CloudFormation Resource (AWS::Glue::MLTransform.MLUserDataEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption-mluserdataencryption.html +type MLTransform_MLUserDataEncryption struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption-mluserdataencryption.html#cfn-glue-mltransform-transformencryption-mluserdataencryption-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // MLUserDataEncryptionMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption-mluserdataencryption.html#cfn-glue-mltransform-transformencryption-mluserdataencryption-mluserdataencryptionmode + MLUserDataEncryptionMode string `json:"MLUserDataEncryptionMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MLTransform_MLUserDataEncryption) AWSCloudFormationType() string { + return "AWS::Glue::MLTransform.MLUserDataEncryption" +} diff --git a/cloudformation/glue/aws-glue-mltransform_transformencryption.go b/cloudformation/glue/aws-glue-mltransform_transformencryption.go new file mode 100644 index 0000000000..10ba023126 --- /dev/null +++ b/cloudformation/glue/aws-glue-mltransform_transformencryption.go @@ -0,0 +1,40 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MLTransform_TransformEncryption AWS CloudFormation Resource (AWS::Glue::MLTransform.TransformEncryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption.html +type MLTransform_TransformEncryption struct { + + // MLUserDataEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption.html#cfn-glue-mltransform-transformencryption-mluserdataencryption + MLUserDataEncryption *MLTransform_MLUserDataEncryption `json:"MLUserDataEncryption,omitempty"` + + // TaskRunSecurityConfigurationName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption.html#cfn-glue-mltransform-transformencryption-taskrunsecurityconfigurationname + TaskRunSecurityConfigurationName string `json:"TaskRunSecurityConfigurationName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MLTransform_TransformEncryption) AWSCloudFormationType() string { + return "AWS::Glue::MLTransform.TransformEncryption" +} diff --git a/cloudformation/glue/aws-glue-partition_schemaid.go b/cloudformation/glue/aws-glue-partition_schemaid.go new file mode 100644 index 0000000000..8e117bae54 --- /dev/null +++ b/cloudformation/glue/aws-glue-partition_schemaid.go @@ -0,0 +1,45 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Partition_SchemaId AWS CloudFormation Resource (AWS::Glue::Partition.SchemaId) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html +type Partition_SchemaId struct { + + // RegistryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html#cfn-glue-partition-schemaid-registryname + RegistryName string `json:"RegistryName,omitempty"` + + // SchemaArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html#cfn-glue-partition-schemaid-schemaarn + SchemaArn string `json:"SchemaArn,omitempty"` + + // SchemaName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html#cfn-glue-partition-schemaid-schemaname + SchemaName string `json:"SchemaName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Partition_SchemaId) AWSCloudFormationType() string { + return "AWS::Glue::Partition.SchemaId" +} diff --git a/cloudformation/glue/aws-glue-partition_schemareference.go b/cloudformation/glue/aws-glue-partition_schemareference.go new file mode 100644 index 0000000000..f9cb79f928 --- /dev/null +++ b/cloudformation/glue/aws-glue-partition_schemareference.go @@ -0,0 +1,45 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Partition_SchemaReference AWS CloudFormation Resource (AWS::Glue::Partition.SchemaReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html +type Partition_SchemaReference struct { + + // SchameVersionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schameversionid + SchameVersionId string `json:"SchameVersionId,omitempty"` + + // SchemaId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaid + SchemaId *Partition_SchemaId `json:"SchemaId,omitempty"` + + // SchemaVersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaversionnumber + SchemaVersionNumber int `json:"SchemaVersionNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Partition_SchemaReference) AWSCloudFormationType() string { + return "AWS::Glue::Partition.SchemaReference" +} diff --git a/cloudformation/glue/aws-glue-partition_storagedescriptor.go b/cloudformation/glue/aws-glue-partition_storagedescriptor.go index 3bd7b111dd..560fe33e5e 100644 --- a/cloudformation/glue/aws-glue-partition_storagedescriptor.go +++ b/cloudformation/glue/aws-glue-partition_storagedescriptor.go @@ -48,6 +48,11 @@ type Partition_StorageDescriptor struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-parameters Parameters interface{} `json:"Parameters,omitempty"` + // SchemaReference AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-schemareference + SchemaReference *Partition_SchemaReference `json:"SchemaReference,omitempty"` + // SerdeInfo AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-serdeinfo diff --git a/cloudformation/glue/aws-glue-registry.go b/cloudformation/glue/aws-glue-registry.go new file mode 100644 index 0000000000..c979bb4c78 --- /dev/null +++ b/cloudformation/glue/aws-glue-registry.go @@ -0,0 +1,117 @@ +package glue + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Registry AWS CloudFormation Resource (AWS::Glue::Registry) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html +type Registry struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html#cfn-glue-registry-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html#cfn-glue-registry-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html#cfn-glue-registry-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 *Registry) AWSCloudFormationType() string { + return "AWS::Glue::Registry" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Registry) UnmarshalJSON(b []byte) error { + type Properties Registry + 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 = Registry(*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/glue/aws-glue-schema.go b/cloudformation/glue/aws-glue-schema.go new file mode 100644 index 0000000000..0f3d0efaba --- /dev/null +++ b/cloudformation/glue/aws-glue-schema.go @@ -0,0 +1,142 @@ +package glue + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Schema AWS CloudFormation Resource (AWS::Glue::Schema) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html +type Schema struct { + + // CheckpointVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-checkpointversion + CheckpointVersion *Schema_SchemaVersion `json:"CheckpointVersion,omitempty"` + + // Compatibility AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-compatibility + Compatibility string `json:"Compatibility,omitempty"` + + // DataFormat AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-dataformat + DataFormat string `json:"DataFormat,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-name + Name string `json:"Name,omitempty"` + + // Registry AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-registry + Registry *Schema_Registry `json:"Registry,omitempty"` + + // SchemaDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-schemadefinition + SchemaDefinition string `json:"SchemaDefinition,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-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 *Schema) AWSCloudFormationType() string { + return "AWS::Glue::Schema" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Schema) UnmarshalJSON(b []byte) error { + type Properties Schema + 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 = Schema(*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/glue/aws-glue-schema_registry.go b/cloudformation/glue/aws-glue-schema_registry.go new file mode 100644 index 0000000000..c430622329 --- /dev/null +++ b/cloudformation/glue/aws-glue-schema_registry.go @@ -0,0 +1,40 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Schema_Registry AWS CloudFormation Resource (AWS::Glue::Schema.Registry) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-registry.html +type Schema_Registry struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-registry.html#cfn-glue-schema-registry-arn + Arn string `json:"Arn,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-registry.html#cfn-glue-schema-registry-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 *Schema_Registry) AWSCloudFormationType() string { + return "AWS::Glue::Schema.Registry" +} diff --git a/cloudformation/glue/aws-glue-schema_schemaversion.go b/cloudformation/glue/aws-glue-schema_schemaversion.go new file mode 100644 index 0000000000..b0b7f40724 --- /dev/null +++ b/cloudformation/glue/aws-glue-schema_schemaversion.go @@ -0,0 +1,40 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Schema_SchemaVersion AWS CloudFormation Resource (AWS::Glue::Schema.SchemaVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-schemaversion.html +type Schema_SchemaVersion struct { + + // IsLatest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-schemaversion.html#cfn-glue-schema-schemaversion-islatest + IsLatest bool `json:"IsLatest,omitempty"` + + // VersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-schemaversion.html#cfn-glue-schema-schemaversion-versionnumber + VersionNumber int `json:"VersionNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Schema_SchemaVersion) AWSCloudFormationType() string { + return "AWS::Glue::Schema.SchemaVersion" +} diff --git a/cloudformation/glue/aws-glue-schemaversion.go b/cloudformation/glue/aws-glue-schemaversion.go new file mode 100644 index 0000000000..0ac7b3dc99 --- /dev/null +++ b/cloudformation/glue/aws-glue-schemaversion.go @@ -0,0 +1,111 @@ +package glue + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SchemaVersion AWS CloudFormation Resource (AWS::Glue::SchemaVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html +type SchemaVersion struct { + + // Schema AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html#cfn-glue-schemaversion-schema + Schema *SchemaVersion_Schema `json:"Schema,omitempty"` + + // SchemaDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html#cfn-glue-schemaversion-schemadefinition + SchemaDefinition string `json:"SchemaDefinition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SchemaVersion) AWSCloudFormationType() string { + return "AWS::Glue::SchemaVersion" +} + +// 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 SchemaVersion) MarshalJSON() ([]byte, error) { + type Properties SchemaVersion + return json.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 *SchemaVersion) UnmarshalJSON(b []byte) error { + type Properties SchemaVersion + 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 = SchemaVersion(*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/glue/aws-glue-schemaversion_schema.go b/cloudformation/glue/aws-glue-schemaversion_schema.go new file mode 100644 index 0000000000..4ac9cb5251 --- /dev/null +++ b/cloudformation/glue/aws-glue-schemaversion_schema.go @@ -0,0 +1,45 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SchemaVersion_Schema AWS CloudFormation Resource (AWS::Glue::SchemaVersion.Schema) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html +type SchemaVersion_Schema struct { + + // RegistryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html#cfn-glue-schemaversion-schema-registryname + RegistryName string `json:"RegistryName,omitempty"` + + // SchemaArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html#cfn-glue-schemaversion-schema-schemaarn + SchemaArn string `json:"SchemaArn,omitempty"` + + // SchemaName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html#cfn-glue-schemaversion-schema-schemaname + SchemaName string `json:"SchemaName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SchemaVersion_Schema) AWSCloudFormationType() string { + return "AWS::Glue::SchemaVersion.Schema" +} diff --git a/cloudformation/glue/aws-glue-schemaversionmetadata.go b/cloudformation/glue/aws-glue-schemaversionmetadata.go new file mode 100644 index 0000000000..7d603da939 --- /dev/null +++ b/cloudformation/glue/aws-glue-schemaversionmetadata.go @@ -0,0 +1,116 @@ +package glue + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SchemaVersionMetadata AWS CloudFormation Resource (AWS::Glue::SchemaVersionMetadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html +type SchemaVersionMetadata struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html#cfn-glue-schemaversionmetadata-key + Key string `json:"Key,omitempty"` + + // SchemaVersionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html#cfn-glue-schemaversionmetadata-schemaversionid + SchemaVersionId string `json:"SchemaVersionId,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html#cfn-glue-schemaversionmetadata-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 *SchemaVersionMetadata) AWSCloudFormationType() string { + return "AWS::Glue::SchemaVersionMetadata" +} + +// 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 SchemaVersionMetadata) MarshalJSON() ([]byte, error) { + type Properties SchemaVersionMetadata + return json.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 *SchemaVersionMetadata) UnmarshalJSON(b []byte) error { + type Properties SchemaVersionMetadata + 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 = SchemaVersionMetadata(*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/glue/aws-glue-table_schemaid.go b/cloudformation/glue/aws-glue-table_schemaid.go new file mode 100644 index 0000000000..d047b72bd2 --- /dev/null +++ b/cloudformation/glue/aws-glue-table_schemaid.go @@ -0,0 +1,45 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_SchemaId AWS CloudFormation Resource (AWS::Glue::Table.SchemaId) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html +type Table_SchemaId struct { + + // RegistryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html#cfn-glue-table-schemaid-registryname + RegistryName string `json:"RegistryName,omitempty"` + + // SchemaArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html#cfn-glue-table-schemaid-schemaarn + SchemaArn string `json:"SchemaArn,omitempty"` + + // SchemaName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html#cfn-glue-table-schemaid-schemaname + SchemaName string `json:"SchemaName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_SchemaId) AWSCloudFormationType() string { + return "AWS::Glue::Table.SchemaId" +} diff --git a/cloudformation/glue/aws-glue-table_schemareference.go b/cloudformation/glue/aws-glue-table_schemareference.go new file mode 100644 index 0000000000..73b2867cb1 --- /dev/null +++ b/cloudformation/glue/aws-glue-table_schemareference.go @@ -0,0 +1,45 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_SchemaReference AWS CloudFormation Resource (AWS::Glue::Table.SchemaReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html +type Table_SchemaReference struct { + + // SchameVersionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schameversionid + SchameVersionId string `json:"SchameVersionId,omitempty"` + + // SchemaId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaid + SchemaId *Table_SchemaId `json:"SchemaId,omitempty"` + + // SchemaVersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaversionnumber + SchemaVersionNumber int `json:"SchemaVersionNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_SchemaReference) AWSCloudFormationType() string { + return "AWS::Glue::Table.SchemaReference" +} diff --git a/cloudformation/glue/aws-glue-table_storagedescriptor.go b/cloudformation/glue/aws-glue-table_storagedescriptor.go index cdb25520f3..9ad354ae65 100644 --- a/cloudformation/glue/aws-glue-table_storagedescriptor.go +++ b/cloudformation/glue/aws-glue-table_storagedescriptor.go @@ -48,6 +48,11 @@ type Table_StorageDescriptor struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-parameters Parameters interface{} `json:"Parameters,omitempty"` + // SchemaReference AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-schemareference + SchemaReference *Table_SchemaReference `json:"SchemaReference,omitempty"` + // SerdeInfo AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-serdeinfo diff --git a/cloudformation/glue/aws-glue-table_tableidentifier.go b/cloudformation/glue/aws-glue-table_tableidentifier.go new file mode 100644 index 0000000000..3e7d9f93d2 --- /dev/null +++ b/cloudformation/glue/aws-glue-table_tableidentifier.go @@ -0,0 +1,45 @@ +package glue + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Table_TableIdentifier AWS CloudFormation Resource (AWS::Glue::Table.TableIdentifier) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html +type Table_TableIdentifier struct { + + // CatalogId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-catalogid + CatalogId string `json:"CatalogId,omitempty"` + + // DatabaseName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-databasename + DatabaseName string `json:"DatabaseName,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-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 *Table_TableIdentifier) AWSCloudFormationType() string { + return "AWS::Glue::Table.TableIdentifier" +} diff --git a/cloudformation/glue/aws-glue-table_tableinput.go b/cloudformation/glue/aws-glue-table_tableinput.go index 4c05309df1..1faf7371f4 100644 --- a/cloudformation/glue/aws-glue-table_tableinput.go +++ b/cloudformation/glue/aws-glue-table_tableinput.go @@ -48,6 +48,11 @@ type Table_TableInput struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype TableType string `json:"TableType,omitempty"` + // TargetTable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-targettable + TargetTable *Table_TableIdentifier `json:"TargetTable,omitempty"` + // ViewExpandedText AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion.go new file mode 100644 index 0000000000..0a02d05258 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion.go @@ -0,0 +1,116 @@ +package greengrassv2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html +type ComponentVersion struct { + + // InlineRecipe AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html#cfn-greengrassv2-componentversion-inlinerecipe + InlineRecipe string `json:"InlineRecipe,omitempty"` + + // LambdaFunction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html#cfn-greengrassv2-componentversion-lambdafunction + LambdaFunction *ComponentVersion_LambdaFunctionRecipeSource `json:"LambdaFunction,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html#cfn-greengrassv2-componentversion-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 *ComponentVersion) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion" +} + +// 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 ComponentVersion) MarshalJSON() ([]byte, error) { + type Properties ComponentVersion + return json.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 *ComponentVersion) UnmarshalJSON(b []byte) error { + type Properties ComponentVersion + 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 = ComponentVersion(*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/greengrassv2/aws-greengrassv2-componentversion_componentdependencyrequirement.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_componentdependencyrequirement.go new file mode 100644 index 0000000000..2ba8020881 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_componentdependencyrequirement.go @@ -0,0 +1,40 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_ComponentDependencyRequirement AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentdependencyrequirement.html +type ComponentVersion_ComponentDependencyRequirement struct { + + // DependencyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentdependencyrequirement.html#cfn-greengrassv2-componentversion-componentdependencyrequirement-dependencytype + DependencyType string `json:"DependencyType,omitempty"` + + // VersionRequirement AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentdependencyrequirement.html#cfn-greengrassv2-componentversion-componentdependencyrequirement-versionrequirement + VersionRequirement string `json:"VersionRequirement,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComponentVersion_ComponentDependencyRequirement) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_componentplatform.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_componentplatform.go new file mode 100644 index 0000000000..a16c21e6a1 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_componentplatform.go @@ -0,0 +1,40 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_ComponentPlatform AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.ComponentPlatform) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentplatform.html +type ComponentVersion_ComponentPlatform struct { + + // Attributes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentplatform.html#cfn-greengrassv2-componentversion-componentplatform-attributes + Attributes map[string]string `json:"Attributes,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentplatform.html#cfn-greengrassv2-componentversion-componentplatform-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 *ComponentVersion_ComponentPlatform) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.ComponentPlatform" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdacontainerparams.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdacontainerparams.go new file mode 100644 index 0000000000..fd4ec94cd5 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdacontainerparams.go @@ -0,0 +1,50 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_LambdaContainerParams AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.LambdaContainerParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html +type ComponentVersion_LambdaContainerParams struct { + + // Devices AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-devices + Devices []ComponentVersion_LambdaDeviceMount `json:"Devices,omitempty"` + + // MemorySizeInKB AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-memorysizeinkb + MemorySizeInKB int `json:"MemorySizeInKB,omitempty"` + + // MountROSysfs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-mountrosysfs + MountROSysfs bool `json:"MountROSysfs,omitempty"` + + // Volumes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html#cfn-greengrassv2-componentversion-lambdacontainerparams-volumes + Volumes []ComponentVersion_LambdaVolumeMount `json:"Volumes,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComponentVersion_LambdaContainerParams) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdadevicemount.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdadevicemount.go new file mode 100644 index 0000000000..b05278681f --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdadevicemount.go @@ -0,0 +1,45 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_LambdaDeviceMount AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html +type ComponentVersion_LambdaDeviceMount struct { + + // AddGroupOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html#cfn-greengrassv2-componentversion-lambdadevicemount-addgroupowner + AddGroupOwner bool `json:"AddGroupOwner,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html#cfn-greengrassv2-componentversion-lambdadevicemount-path + Path string `json:"Path,omitempty"` + + // Permission AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html#cfn-greengrassv2-componentversion-lambdadevicemount-permission + Permission string `json:"Permission,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComponentVersion_LambdaDeviceMount) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaeventsource.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaeventsource.go new file mode 100644 index 0000000000..7bb8bc2097 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaeventsource.go @@ -0,0 +1,40 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_LambdaEventSource AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.LambdaEventSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaeventsource.html +type ComponentVersion_LambdaEventSource struct { + + // Topic AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaeventsource.html#cfn-greengrassv2-componentversion-lambdaeventsource-topic + Topic string `json:"Topic,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaeventsource.html#cfn-greengrassv2-componentversion-lambdaeventsource-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 *ComponentVersion_LambdaEventSource) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.LambdaEventSource" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaexecutionparameters.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaexecutionparameters.go new file mode 100644 index 0000000000..bb78c8d037 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdaexecutionparameters.go @@ -0,0 +1,85 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_LambdaExecutionParameters AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html +type ComponentVersion_LambdaExecutionParameters struct { + + // EnvironmentVariables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-environmentvariables + EnvironmentVariables map[string]string `json:"EnvironmentVariables,omitempty"` + + // EventSources AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-eventsources + EventSources []ComponentVersion_LambdaEventSource `json:"EventSources,omitempty"` + + // ExecArgs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-execargs + ExecArgs []string `json:"ExecArgs,omitempty"` + + // InputPayloadEncodingType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-inputpayloadencodingtype + InputPayloadEncodingType string `json:"InputPayloadEncodingType,omitempty"` + + // LinuxProcessParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-linuxprocessparams + LinuxProcessParams *ComponentVersion_LambdaLinuxProcessParams `json:"LinuxProcessParams,omitempty"` + + // MaxIdleTimeInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-maxidletimeinseconds + MaxIdleTimeInSeconds int `json:"MaxIdleTimeInSeconds,omitempty"` + + // MaxInstancesCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-maxinstancescount + MaxInstancesCount int `json:"MaxInstancesCount,omitempty"` + + // MaxQueueSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-maxqueuesize + MaxQueueSize int `json:"MaxQueueSize,omitempty"` + + // Pinned AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-pinned + Pinned bool `json:"Pinned,omitempty"` + + // StatusTimeoutInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-statustimeoutinseconds + StatusTimeoutInSeconds int `json:"StatusTimeoutInSeconds,omitempty"` + + // TimeoutInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html#cfn-greengrassv2-componentversion-lambdaexecutionparameters-timeoutinseconds + TimeoutInSeconds int `json:"TimeoutInSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComponentVersion_LambdaExecutionParameters) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdafunctionrecipesource.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdafunctionrecipesource.go new file mode 100644 index 0000000000..008a5bd498 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdafunctionrecipesource.go @@ -0,0 +1,60 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_LambdaFunctionRecipeSource AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html +type ComponentVersion_LambdaFunctionRecipeSource struct { + + // ComponentDependencies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentdependencies + ComponentDependencies map[string]ComponentVersion_ComponentDependencyRequirement `json:"ComponentDependencies,omitempty"` + + // ComponentLambdaParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentlambdaparameters + ComponentLambdaParameters *ComponentVersion_LambdaExecutionParameters `json:"ComponentLambdaParameters,omitempty"` + + // ComponentName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentname + ComponentName string `json:"ComponentName,omitempty"` + + // ComponentPlatforms AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentplatforms + ComponentPlatforms []ComponentVersion_ComponentPlatform `json:"ComponentPlatforms,omitempty"` + + // ComponentVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-componentversion + ComponentVersion string `json:"ComponentVersion,omitempty"` + + // LambdaArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html#cfn-greengrassv2-componentversion-lambdafunctionrecipesource-lambdaarn + LambdaArn string `json:"LambdaArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComponentVersion_LambdaFunctionRecipeSource) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdalinuxprocessparams.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdalinuxprocessparams.go new file mode 100644 index 0000000000..1d6b4f1272 --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdalinuxprocessparams.go @@ -0,0 +1,40 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_LambdaLinuxProcessParams AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdalinuxprocessparams.html +type ComponentVersion_LambdaLinuxProcessParams struct { + + // ContainerParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdalinuxprocessparams.html#cfn-greengrassv2-componentversion-lambdalinuxprocessparams-containerparams + ContainerParams *ComponentVersion_LambdaContainerParams `json:"ContainerParams,omitempty"` + + // IsolationMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdalinuxprocessparams.html#cfn-greengrassv2-componentversion-lambdalinuxprocessparams-isolationmode + IsolationMode string `json:"IsolationMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComponentVersion_LambdaLinuxProcessParams) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" +} diff --git a/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdavolumemount.go b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdavolumemount.go new file mode 100644 index 0000000000..ab43a1b9aa --- /dev/null +++ b/cloudformation/greengrassv2/aws-greengrassv2-componentversion_lambdavolumemount.go @@ -0,0 +1,50 @@ +package greengrassv2 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ComponentVersion_LambdaVolumeMount AWS CloudFormation Resource (AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html +type ComponentVersion_LambdaVolumeMount struct { + + // AddGroupOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-addgroupowner + AddGroupOwner bool `json:"AddGroupOwner,omitempty"` + + // DestinationPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-destinationpath + DestinationPath string `json:"DestinationPath,omitempty"` + + // Permission AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-permission + Permission string `json:"Permission,omitempty"` + + // SourcePath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html#cfn-greengrassv2-componentversion-lambdavolumemount-sourcepath + SourcePath string `json:"SourcePath,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComponentVersion_LambdaVolumeMount) AWSCloudFormationType() string { + return "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" +} diff --git a/cloudformation/iam/aws-iam-oidcprovider.go b/cloudformation/iam/aws-iam-oidcprovider.go new file mode 100644 index 0000000000..c3f2264117 --- /dev/null +++ b/cloudformation/iam/aws-iam-oidcprovider.go @@ -0,0 +1,122 @@ +package iam + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// OIDCProvider AWS CloudFormation Resource (AWS::IAM::OIDCProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html +type OIDCProvider struct { + + // ClientIdList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html#cfn-iam-oidcprovider-clientidlist + ClientIdList []string `json:"ClientIdList,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html#cfn-iam-oidcprovider-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // ThumbprintList AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html#cfn-iam-oidcprovider-thumbprintlist + ThumbprintList []string `json:"ThumbprintList,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html#cfn-iam-oidcprovider-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 *OIDCProvider) AWSCloudFormationType() string { + return "AWS::IAM::OIDCProvider" +} + +// 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 OIDCProvider) MarshalJSON() ([]byte, error) { + type Properties OIDCProvider + return json.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 *OIDCProvider) UnmarshalJSON(b []byte) error { + type Properties OIDCProvider + 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 = OIDCProvider(*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/iam/aws-iam-samlprovider.go b/cloudformation/iam/aws-iam-samlprovider.go new file mode 100644 index 0000000000..fadf8572c6 --- /dev/null +++ b/cloudformation/iam/aws-iam-samlprovider.go @@ -0,0 +1,117 @@ +package iam + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// SAMLProvider AWS CloudFormation Resource (AWS::IAM::SAMLProvider) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html +type SAMLProvider struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html#cfn-iam-samlprovider-name + Name string `json:"Name,omitempty"` + + // SamlMetadataDocument AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html#cfn-iam-samlprovider-samlmetadatadocument + SamlMetadataDocument string `json:"SamlMetadataDocument,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html#cfn-iam-samlprovider-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 *SAMLProvider) AWSCloudFormationType() string { + return "AWS::IAM::SAMLProvider" +} + +// 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 SAMLProvider) MarshalJSON() ([]byte, error) { + type Properties SAMLProvider + return json.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 *SAMLProvider) UnmarshalJSON(b []byte) error { + type Properties SAMLProvider + 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 = SAMLProvider(*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/iam/aws-iam-servercertificate.go b/cloudformation/iam/aws-iam-servercertificate.go new file mode 100644 index 0000000000..c916896cc7 --- /dev/null +++ b/cloudformation/iam/aws-iam-servercertificate.go @@ -0,0 +1,132 @@ +package iam + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// ServerCertificate AWS CloudFormation Resource (AWS::IAM::ServerCertificate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html +type ServerCertificate struct { + + // CertificateBody AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html#cfn-iam-servercertificate-certificatebody + CertificateBody string `json:"CertificateBody,omitempty"` + + // CertificateChain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html#cfn-iam-servercertificate-certificatechain + CertificateChain string `json:"CertificateChain,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html#cfn-iam-servercertificate-path + Path string `json:"Path,omitempty"` + + // PrivateKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html#cfn-iam-servercertificate-privatekey + PrivateKey string `json:"PrivateKey,omitempty"` + + // ServerCertificateName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html#cfn-iam-servercertificate-servercertificatename + ServerCertificateName string `json:"ServerCertificateName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html#cfn-iam-servercertificate-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 *ServerCertificate) AWSCloudFormationType() string { + return "AWS::IAM::ServerCertificate" +} + +// 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 ServerCertificate) MarshalJSON() ([]byte, error) { + type Properties ServerCertificate + return json.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 *ServerCertificate) UnmarshalJSON(b []byte) error { + type Properties ServerCertificate + 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 = ServerCertificate(*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/iam/aws-iam-virtualmfadevice.go b/cloudformation/iam/aws-iam-virtualmfadevice.go new file mode 100644 index 0000000000..7bc9a85356 --- /dev/null +++ b/cloudformation/iam/aws-iam-virtualmfadevice.go @@ -0,0 +1,122 @@ +package iam + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// VirtualMFADevice AWS CloudFormation Resource (AWS::IAM::VirtualMFADevice) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html +type VirtualMFADevice struct { + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html#cfn-iam-virtualmfadevice-path + Path string `json:"Path,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html#cfn-iam-virtualmfadevice-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Users AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html#cfn-iam-virtualmfadevice-users + Users []string `json:"Users,omitempty"` + + // VirtualMfaDeviceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html#cfn-iam-virtualmfadevice-virtualmfadevicename + VirtualMfaDeviceName string `json:"VirtualMfaDeviceName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *VirtualMFADevice) AWSCloudFormationType() string { + return "AWS::IAM::VirtualMFADevice" +} + +// 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 VirtualMFADevice) MarshalJSON() ([]byte, error) { + type Properties VirtualMFADevice + return json.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 *VirtualMFADevice) UnmarshalJSON(b []byte) error { + type Properties VirtualMFADevice + 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 = VirtualMFADevice(*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-containerrecipe.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go new file mode 100644 index 0000000000..4d80705aea --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go @@ -0,0 +1,171 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html +type ContainerRecipe struct { + + // Components AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-components + Components []ContainerRecipe_ComponentConfiguration `json:"Components,omitempty"` + + // ContainerType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-containertype + ContainerType string `json:"ContainerType,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-description + Description string `json:"Description,omitempty"` + + // DockerfileTemplateData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-dockerfiletemplatedata + DockerfileTemplateData string `json:"DockerfileTemplateData,omitempty"` + + // DockerfileTemplateUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-dockerfiletemplateuri + DockerfileTemplateUri string `json:"DockerfileTemplateUri,omitempty"` + + // ImageOsVersionOverride AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-imageosversionoverride + ImageOsVersionOverride string `json:"ImageOsVersionOverride,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-name + Name string `json:"Name,omitempty"` + + // ParentImage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-parentimage + ParentImage string `json:"ParentImage,omitempty"` + + // PlatformOverride AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-platformoverride + PlatformOverride string `json:"PlatformOverride,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-tags + Tags map[string]string `json:"Tags,omitempty"` + + // TargetRepository AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-targetrepository + TargetRepository *ContainerRecipe_TargetContainerRepository `json:"TargetRepository,omitempty"` + + // Version AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-version + Version string `json:"Version,omitempty"` + + // WorkingDirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-workingdirectory + WorkingDirectory string `json:"WorkingDirectory,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ContainerRecipe) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe" +} + +// 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 ContainerRecipe) MarshalJSON() ([]byte, error) { + type Properties ContainerRecipe + return json.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 *ContainerRecipe) UnmarshalJSON(b []byte) error { + type Properties ContainerRecipe + 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 = ContainerRecipe(*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-containerrecipe_componentconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_componentconfiguration.go new file mode 100644 index 0000000000..a115ca454c --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_componentconfiguration.go @@ -0,0 +1,35 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe_ComponentConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentconfiguration.html +type ContainerRecipe_ComponentConfiguration struct { + + // ComponentArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentconfiguration.html#cfn-imagebuilder-containerrecipe-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 *ContainerRecipe_ComponentConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_targetcontainerrepository.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_targetcontainerrepository.go new file mode 100644 index 0000000000..10d1ee291e --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_targetcontainerrepository.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe_TargetContainerRepository AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html +type ContainerRecipe_TargetContainerRepository struct { + + // RepositoryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html#cfn-imagebuilder-containerrecipe-targetcontainerrepository-repositoryname + RepositoryName string `json:"RepositoryName,omitempty"` + + // Service AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html#cfn-imagebuilder-containerrecipe-targetcontainerrepository-service + Service string `json:"Service,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ContainerRecipe_TargetContainerRepository) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go index 8176153e02..099a5a143e 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go @@ -13,6 +13,11 @@ type DistributionConfiguration_Distribution struct { // 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"` + // ContainerDistributionConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-containerdistributionconfiguration + ContainerDistributionConfiguration interface{} `json:"ContainerDistributionConfiguration,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 diff --git a/cloudformation/imagebuilder/aws-imagebuilder-image.go b/cloudformation/imagebuilder/aws-imagebuilder-image.go index 9495331d47..2f4b01296d 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-image.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-image.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html type Image struct { + // ContainerRecipeArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-containerrecipearn + ContainerRecipeArn string `json:"ContainerRecipeArn,omitempty"` + // DistributionConfigurationArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-distributionconfigurationarn @@ -23,7 +28,7 @@ type Image struct { EnhancedImageMetadataEnabled bool `json:"EnhancedImageMetadataEnabled,omitempty"` // ImageRecipeArn AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagerecipearn ImageRecipeArn string `json:"ImageRecipeArn,omitempty"` diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go index 76aeba04a8..3165085aca 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagepipeline.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html type ImagePipeline struct { + // ContainerRecipeArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-containerrecipearn + ContainerRecipeArn string `json:"ContainerRecipeArn,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-description @@ -28,7 +33,7 @@ type ImagePipeline struct { EnhancedImageMetadataEnabled bool `json:"EnhancedImageMetadataEnabled,omitempty"` // ImageRecipeArn AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagerecipearn ImageRecipeArn string `json:"ImageRecipeArn,omitempty"` diff --git a/cloudformation/iot/aws-iot-accountauditconfiguration.go b/cloudformation/iot/aws-iot-accountauditconfiguration.go new file mode 100644 index 0000000000..cb09a7502f --- /dev/null +++ b/cloudformation/iot/aws-iot-accountauditconfiguration.go @@ -0,0 +1,121 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccountAuditConfiguration AWS CloudFormation Resource (AWS::IoT::AccountAuditConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html +type AccountAuditConfiguration struct { + + // AccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html#cfn-iot-accountauditconfiguration-accountid + AccountId string `json:"AccountId,omitempty"` + + // AuditCheckConfigurations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations + AuditCheckConfigurations *AccountAuditConfiguration_AuditCheckConfigurations `json:"AuditCheckConfigurations,omitempty"` + + // AuditNotificationTargetConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html#cfn-iot-accountauditconfiguration-auditnotificationtargetconfigurations + AuditNotificationTargetConfigurations *AccountAuditConfiguration_AuditNotificationTargetConfigurations `json:"AuditNotificationTargetConfigurations,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html#cfn-iot-accountauditconfiguration-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 *AccountAuditConfiguration) AWSCloudFormationType() string { + return "AWS::IoT::AccountAuditConfiguration" +} + +// 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 AccountAuditConfiguration) MarshalJSON() ([]byte, error) { + type Properties AccountAuditConfiguration + return json.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 *AccountAuditConfiguration) UnmarshalJSON(b []byte) error { + type Properties AccountAuditConfiguration + 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 = AccountAuditConfiguration(*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-accountauditconfiguration_auditcheckconfiguration.go b/cloudformation/iot/aws-iot-accountauditconfiguration_auditcheckconfiguration.go new file mode 100644 index 0000000000..5cfd47632c --- /dev/null +++ b/cloudformation/iot/aws-iot-accountauditconfiguration_auditcheckconfiguration.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccountAuditConfiguration_AuditCheckConfiguration AWS CloudFormation Resource (AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfiguration.html +type AccountAuditConfiguration_AuditCheckConfiguration struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfiguration.html#cfn-iot-accountauditconfiguration-auditcheckconfiguration-enabled + Enabled bool `json:"Enabled,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccountAuditConfiguration_AuditCheckConfiguration) AWSCloudFormationType() string { + return "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" +} diff --git a/cloudformation/iot/aws-iot-accountauditconfiguration_auditcheckconfigurations.go b/cloudformation/iot/aws-iot-accountauditconfiguration_auditcheckconfigurations.go new file mode 100644 index 0000000000..06c77a7594 --- /dev/null +++ b/cloudformation/iot/aws-iot-accountauditconfiguration_auditcheckconfigurations.go @@ -0,0 +1,100 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccountAuditConfiguration_AuditCheckConfigurations AWS CloudFormation Resource (AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html +type AccountAuditConfiguration_AuditCheckConfigurations struct { + + // AuthenticatedCognitoRoleOverlyPermissiveCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-authenticatedcognitoroleoverlypermissivecheck + AuthenticatedCognitoRoleOverlyPermissiveCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"AuthenticatedCognitoRoleOverlyPermissiveCheck,omitempty"` + + // CaCertificateExpiringCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-cacertificateexpiringcheck + CaCertificateExpiringCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"CaCertificateExpiringCheck,omitempty"` + + // CaCertificateKeyQualityCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-cacertificatekeyqualitycheck + CaCertificateKeyQualityCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"CaCertificateKeyQualityCheck,omitempty"` + + // ConflictingClientIdsCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-conflictingclientidscheck + ConflictingClientIdsCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"ConflictingClientIdsCheck,omitempty"` + + // DeviceCertificateExpiringCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-devicecertificateexpiringcheck + DeviceCertificateExpiringCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"DeviceCertificateExpiringCheck,omitempty"` + + // DeviceCertificateKeyQualityCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-devicecertificatekeyqualitycheck + DeviceCertificateKeyQualityCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"DeviceCertificateKeyQualityCheck,omitempty"` + + // DeviceCertificateSharedCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-devicecertificatesharedcheck + DeviceCertificateSharedCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"DeviceCertificateSharedCheck,omitempty"` + + // IotPolicyOverlyPermissiveCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-iotpolicyoverlypermissivecheck + IotPolicyOverlyPermissiveCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"IotPolicyOverlyPermissiveCheck,omitempty"` + + // IotRoleAliasAllowsAccessToUnusedServicesCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-iotrolealiasallowsaccesstounusedservicescheck + IotRoleAliasAllowsAccessToUnusedServicesCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"IotRoleAliasAllowsAccessToUnusedServicesCheck,omitempty"` + + // IotRoleAliasOverlyPermissiveCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-iotrolealiasoverlypermissivecheck + IotRoleAliasOverlyPermissiveCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"IotRoleAliasOverlyPermissiveCheck,omitempty"` + + // LoggingDisabledCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-loggingdisabledcheck + LoggingDisabledCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"LoggingDisabledCheck,omitempty"` + + // RevokedCaCertificateStillActiveCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-revokedcacertificatestillactivecheck + RevokedCaCertificateStillActiveCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"RevokedCaCertificateStillActiveCheck,omitempty"` + + // RevokedDeviceCertificateStillActiveCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-revokeddevicecertificatestillactivecheck + RevokedDeviceCertificateStillActiveCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"RevokedDeviceCertificateStillActiveCheck,omitempty"` + + // UnauthenticatedCognitoRoleOverlyPermissiveCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html#cfn-iot-accountauditconfiguration-auditcheckconfigurations-unauthenticatedcognitoroleoverlypermissivecheck + UnauthenticatedCognitoRoleOverlyPermissiveCheck *AccountAuditConfiguration_AuditCheckConfiguration `json:"UnauthenticatedCognitoRoleOverlyPermissiveCheck,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccountAuditConfiguration_AuditCheckConfigurations) AWSCloudFormationType() string { + return "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" +} diff --git a/cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtarget.go b/cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtarget.go new file mode 100644 index 0000000000..2a012cb941 --- /dev/null +++ b/cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtarget.go @@ -0,0 +1,45 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccountAuditConfiguration_AuditNotificationTarget AWS CloudFormation Resource (AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtarget.html +type AccountAuditConfiguration_AuditNotificationTarget struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtarget.html#cfn-iot-accountauditconfiguration-auditnotificationtarget-enabled + Enabled bool `json:"Enabled,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtarget.html#cfn-iot-accountauditconfiguration-auditnotificationtarget-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // TargetArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtarget.html#cfn-iot-accountauditconfiguration-auditnotificationtarget-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 *AccountAuditConfiguration_AuditNotificationTarget) AWSCloudFormationType() string { + return "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" +} diff --git a/cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtargetconfigurations.go b/cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtargetconfigurations.go new file mode 100644 index 0000000000..173cbdc7f2 --- /dev/null +++ b/cloudformation/iot/aws-iot-accountauditconfiguration_auditnotificationtargetconfigurations.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccountAuditConfiguration_AuditNotificationTargetConfigurations AWS CloudFormation Resource (AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtargetconfigurations.html +type AccountAuditConfiguration_AuditNotificationTargetConfigurations struct { + + // Sns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtargetconfigurations.html#cfn-iot-accountauditconfiguration-auditnotificationtargetconfigurations-sns + Sns *AccountAuditConfiguration_AuditNotificationTarget `json:"Sns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccountAuditConfiguration_AuditNotificationTargetConfigurations) AWSCloudFormationType() string { + return "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" +} diff --git a/cloudformation/iot/aws-iot-authorizer.go b/cloudformation/iot/aws-iot-authorizer.go index ba79698357..7e0885508e 100644 --- a/cloudformation/iot/aws-iot-authorizer.go +++ b/cloudformation/iot/aws-iot-authorizer.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Authorizer AWS CloudFormation Resource (AWS::IoT::Authorizer) @@ -35,7 +36,7 @@ type Authorizer struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-tags - Tags *Authorizer_Tags `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // TokenKeyName AWS CloudFormation Property // Required: false @@ -45,7 +46,7 @@ type Authorizer struct { // TokenSigningPublicKeys AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-tokensigningpublickeys - TokenSigningPublicKeys *Authorizer_TokenSigningPublicKeys `json:"TokenSigningPublicKeys,omitempty"` + TokenSigningPublicKeys map[string]string `json:"TokenSigningPublicKeys,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/iot/aws-iot-custommetric.go b/cloudformation/iot/aws-iot-custommetric.go new file mode 100644 index 0000000000..3a68bb7a80 --- /dev/null +++ b/cloudformation/iot/aws-iot-custommetric.go @@ -0,0 +1,122 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// CustomMetric AWS CloudFormation Resource (AWS::IoT::CustomMetric) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html +type CustomMetric struct { + + // DisplayName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html#cfn-iot-custommetric-displayname + DisplayName string `json:"DisplayName,omitempty"` + + // MetricName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html#cfn-iot-custommetric-metricname + MetricName string `json:"MetricName,omitempty"` + + // MetricType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html#cfn-iot-custommetric-metrictype + MetricType string `json:"MetricType,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html#cfn-iot-custommetric-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 *CustomMetric) AWSCloudFormationType() string { + return "AWS::IoT::CustomMetric" +} + +// 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 CustomMetric) MarshalJSON() ([]byte, error) { + type Properties CustomMetric + return json.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 *CustomMetric) UnmarshalJSON(b []byte) error { + type Properties CustomMetric + 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 = CustomMetric(*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-dimension.go b/cloudformation/iot/aws-iot-dimension.go new file mode 100644 index 0000000000..26c2ef1152 --- /dev/null +++ b/cloudformation/iot/aws-iot-dimension.go @@ -0,0 +1,122 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Dimension AWS CloudFormation Resource (AWS::IoT::Dimension) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html +type Dimension struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html#cfn-iot-dimension-name + Name string `json:"Name,omitempty"` + + // StringValues AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html#cfn-iot-dimension-stringvalues + StringValues []string `json:"StringValues,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html#cfn-iot-dimension-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html#cfn-iot-dimension-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 *Dimension) AWSCloudFormationType() string { + return "AWS::IoT::Dimension" +} + +// 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 Dimension) MarshalJSON() ([]byte, error) { + type Properties Dimension + return json.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 *Dimension) UnmarshalJSON(b []byte) error { + type Properties Dimension + 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 = Dimension(*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-domainconfiguration.go b/cloudformation/iot/aws-iot-domainconfiguration.go new file mode 100644 index 0000000000..fed8511b08 --- /dev/null +++ b/cloudformation/iot/aws-iot-domainconfiguration.go @@ -0,0 +1,142 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// DomainConfiguration AWS CloudFormation Resource (AWS::IoT::DomainConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html +type DomainConfiguration struct { + + // AuthorizerConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-authorizerconfig + AuthorizerConfig *DomainConfiguration_AuthorizerConfig `json:"AuthorizerConfig,omitempty"` + + // DomainConfigurationName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-domainconfigurationname + DomainConfigurationName string `json:"DomainConfigurationName,omitempty"` + + // DomainConfigurationStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-domainconfigurationstatus + DomainConfigurationStatus string `json:"DomainConfigurationStatus,omitempty"` + + // DomainName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-domainname + DomainName string `json:"DomainName,omitempty"` + + // ServerCertificateArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-servercertificatearns + ServerCertificateArns []string `json:"ServerCertificateArns,omitempty"` + + // ServiceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-servicetype + ServiceType string `json:"ServiceType,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // ValidationCertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html#cfn-iot-domainconfiguration-validationcertificatearn + ValidationCertificateArn string `json:"ValidationCertificateArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DomainConfiguration) AWSCloudFormationType() string { + return "AWS::IoT::DomainConfiguration" +} + +// 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 DomainConfiguration) MarshalJSON() ([]byte, error) { + type Properties DomainConfiguration + return json.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 *DomainConfiguration) UnmarshalJSON(b []byte) error { + type Properties DomainConfiguration + 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 = DomainConfiguration(*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-domainconfiguration_authorizerconfig.go b/cloudformation/iot/aws-iot-domainconfiguration_authorizerconfig.go new file mode 100644 index 0000000000..ff725b0535 --- /dev/null +++ b/cloudformation/iot/aws-iot-domainconfiguration_authorizerconfig.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DomainConfiguration_AuthorizerConfig AWS CloudFormation Resource (AWS::IoT::DomainConfiguration.AuthorizerConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-authorizerconfig.html +type DomainConfiguration_AuthorizerConfig struct { + + // AllowAuthorizerOverride AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-authorizerconfig.html#cfn-iot-domainconfiguration-authorizerconfig-allowauthorizeroverride + AllowAuthorizerOverride bool `json:"AllowAuthorizerOverride,omitempty"` + + // DefaultAuthorizerName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-authorizerconfig.html#cfn-iot-domainconfiguration-authorizerconfig-defaultauthorizername + DefaultAuthorizerName string `json:"DefaultAuthorizerName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DomainConfiguration_AuthorizerConfig) AWSCloudFormationType() string { + return "AWS::IoT::DomainConfiguration.AuthorizerConfig" +} diff --git a/cloudformation/iot/aws-iot-domainconfiguration_servercertificatesummary.go b/cloudformation/iot/aws-iot-domainconfiguration_servercertificatesummary.go new file mode 100644 index 0000000000..6701d00b3a --- /dev/null +++ b/cloudformation/iot/aws-iot-domainconfiguration_servercertificatesummary.go @@ -0,0 +1,45 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DomainConfiguration_ServerCertificateSummary AWS CloudFormation Resource (AWS::IoT::DomainConfiguration.ServerCertificateSummary) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificatesummary.html +type DomainConfiguration_ServerCertificateSummary struct { + + // ServerCertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificatesummary.html#cfn-iot-domainconfiguration-servercertificatesummary-servercertificatearn + ServerCertificateArn string `json:"ServerCertificateArn,omitempty"` + + // ServerCertificateStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificatesummary.html#cfn-iot-domainconfiguration-servercertificatesummary-servercertificatestatus + ServerCertificateStatus string `json:"ServerCertificateStatus,omitempty"` + + // ServerCertificateStatusDetail AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificatesummary.html#cfn-iot-domainconfiguration-servercertificatesummary-servercertificatestatusdetail + ServerCertificateStatusDetail string `json:"ServerCertificateStatusDetail,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DomainConfiguration_ServerCertificateSummary) AWSCloudFormationType() string { + return "AWS::IoT::DomainConfiguration.ServerCertificateSummary" +} diff --git a/cloudformation/iot/aws-iot-mitigationaction.go b/cloudformation/iot/aws-iot-mitigationaction.go new file mode 100644 index 0000000000..ef2ceac5f7 --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction.go @@ -0,0 +1,122 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// MitigationAction AWS CloudFormation Resource (AWS::IoT::MitigationAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html +type MitigationAction struct { + + // ActionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html#cfn-iot-mitigationaction-actionname + ActionName string `json:"ActionName,omitempty"` + + // ActionParams AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html#cfn-iot-mitigationaction-actionparams + ActionParams *MitigationAction_ActionParams `json:"ActionParams,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html#cfn-iot-mitigationaction-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html#cfn-iot-mitigationaction-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 *MitigationAction) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction" +} + +// 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 MitigationAction) MarshalJSON() ([]byte, error) { + type Properties MitigationAction + return json.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 *MitigationAction) UnmarshalJSON(b []byte) error { + type Properties MitigationAction + 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 = MitigationAction(*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-mitigationaction_actionparams.go b/cloudformation/iot/aws-iot-mitigationaction_actionparams.go new file mode 100644 index 0000000000..a1c5a7dba4 --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction_actionparams.go @@ -0,0 +1,60 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MitigationAction_ActionParams AWS CloudFormation Resource (AWS::IoT::MitigationAction.ActionParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html +type MitigationAction_ActionParams struct { + + // AddThingsToThingGroupParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html#cfn-iot-mitigationaction-actionparams-addthingstothinggroupparams + AddThingsToThingGroupParams *MitigationAction_AddThingsToThingGroupParams `json:"AddThingsToThingGroupParams,omitempty"` + + // EnableIoTLoggingParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html#cfn-iot-mitigationaction-actionparams-enableiotloggingparams + EnableIoTLoggingParams *MitigationAction_EnableIoTLoggingParams `json:"EnableIoTLoggingParams,omitempty"` + + // PublishFindingToSnsParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html#cfn-iot-mitigationaction-actionparams-publishfindingtosnsparams + PublishFindingToSnsParams *MitigationAction_PublishFindingToSnsParams `json:"PublishFindingToSnsParams,omitempty"` + + // ReplaceDefaultPolicyVersionParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html#cfn-iot-mitigationaction-actionparams-replacedefaultpolicyversionparams + ReplaceDefaultPolicyVersionParams *MitigationAction_ReplaceDefaultPolicyVersionParams `json:"ReplaceDefaultPolicyVersionParams,omitempty"` + + // UpdateCACertificateParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html#cfn-iot-mitigationaction-actionparams-updatecacertificateparams + UpdateCACertificateParams *MitigationAction_UpdateCACertificateParams `json:"UpdateCACertificateParams,omitempty"` + + // UpdateDeviceCertificateParams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html#cfn-iot-mitigationaction-actionparams-updatedevicecertificateparams + UpdateDeviceCertificateParams *MitigationAction_UpdateDeviceCertificateParams `json:"UpdateDeviceCertificateParams,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MitigationAction_ActionParams) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction.ActionParams" +} diff --git a/cloudformation/iot/aws-iot-mitigationaction_addthingstothinggroupparams.go b/cloudformation/iot/aws-iot-mitigationaction_addthingstothinggroupparams.go new file mode 100644 index 0000000000..cfb9eaa963 --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction_addthingstothinggroupparams.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MitigationAction_AddThingsToThingGroupParams AWS CloudFormation Resource (AWS::IoT::MitigationAction.AddThingsToThingGroupParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-addthingstothinggroupparams.html +type MitigationAction_AddThingsToThingGroupParams struct { + + // OverrideDynamicGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-addthingstothinggroupparams.html#cfn-iot-mitigationaction-addthingstothinggroupparams-overridedynamicgroups + OverrideDynamicGroups bool `json:"OverrideDynamicGroups,omitempty"` + + // ThingGroupNames AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-addthingstothinggroupparams.html#cfn-iot-mitigationaction-addthingstothinggroupparams-thinggroupnames + ThingGroupNames []string `json:"ThingGroupNames,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MitigationAction_AddThingsToThingGroupParams) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction.AddThingsToThingGroupParams" +} diff --git a/cloudformation/iot/aws-iot-mitigationaction_enableiotloggingparams.go b/cloudformation/iot/aws-iot-mitigationaction_enableiotloggingparams.go new file mode 100644 index 0000000000..b173cb1a41 --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction_enableiotloggingparams.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MitigationAction_EnableIoTLoggingParams AWS CloudFormation Resource (AWS::IoT::MitigationAction.EnableIoTLoggingParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-enableiotloggingparams.html +type MitigationAction_EnableIoTLoggingParams struct { + + // LogLevel AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-enableiotloggingparams.html#cfn-iot-mitigationaction-enableiotloggingparams-loglevel + LogLevel string `json:"LogLevel,omitempty"` + + // RoleArnForLogging AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-enableiotloggingparams.html#cfn-iot-mitigationaction-enableiotloggingparams-rolearnforlogging + RoleArnForLogging string `json:"RoleArnForLogging,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MitigationAction_EnableIoTLoggingParams) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction.EnableIoTLoggingParams" +} diff --git a/cloudformation/iot/aws-iot-mitigationaction_publishfindingtosnsparams.go b/cloudformation/iot/aws-iot-mitigationaction_publishfindingtosnsparams.go new file mode 100644 index 0000000000..be3c5be991 --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction_publishfindingtosnsparams.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MitigationAction_PublishFindingToSnsParams AWS CloudFormation Resource (AWS::IoT::MitigationAction.PublishFindingToSnsParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-publishfindingtosnsparams.html +type MitigationAction_PublishFindingToSnsParams struct { + + // TopicArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-publishfindingtosnsparams.html#cfn-iot-mitigationaction-publishfindingtosnsparams-topicarn + TopicArn string `json:"TopicArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MitigationAction_PublishFindingToSnsParams) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction.PublishFindingToSnsParams" +} diff --git a/cloudformation/iot/aws-iot-mitigationaction_replacedefaultpolicyversionparams.go b/cloudformation/iot/aws-iot-mitigationaction_replacedefaultpolicyversionparams.go new file mode 100644 index 0000000000..9742e21728 --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction_replacedefaultpolicyversionparams.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MitigationAction_ReplaceDefaultPolicyVersionParams AWS CloudFormation Resource (AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-replacedefaultpolicyversionparams.html +type MitigationAction_ReplaceDefaultPolicyVersionParams struct { + + // TemplateName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-replacedefaultpolicyversionparams.html#cfn-iot-mitigationaction-replacedefaultpolicyversionparams-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 *MitigationAction_ReplaceDefaultPolicyVersionParams) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" +} diff --git a/cloudformation/iot/aws-iot-mitigationaction_updatecacertificateparams.go b/cloudformation/iot/aws-iot-mitigationaction_updatecacertificateparams.go new file mode 100644 index 0000000000..fa24922ddd --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction_updatecacertificateparams.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MitigationAction_UpdateCACertificateParams AWS CloudFormation Resource (AWS::IoT::MitigationAction.UpdateCACertificateParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatecacertificateparams.html +type MitigationAction_UpdateCACertificateParams struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatecacertificateparams.html#cfn-iot-mitigationaction-updatecacertificateparams-action + Action string `json:"Action,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MitigationAction_UpdateCACertificateParams) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction.UpdateCACertificateParams" +} diff --git a/cloudformation/iot/aws-iot-mitigationaction_updatedevicecertificateparams.go b/cloudformation/iot/aws-iot-mitigationaction_updatedevicecertificateparams.go new file mode 100644 index 0000000000..ff8120053b --- /dev/null +++ b/cloudformation/iot/aws-iot-mitigationaction_updatedevicecertificateparams.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// MitigationAction_UpdateDeviceCertificateParams AWS CloudFormation Resource (AWS::IoT::MitigationAction.UpdateDeviceCertificateParams) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatedevicecertificateparams.html +type MitigationAction_UpdateDeviceCertificateParams struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatedevicecertificateparams.html#cfn-iot-mitigationaction-updatedevicecertificateparams-action + Action string `json:"Action,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *MitigationAction_UpdateDeviceCertificateParams) AWSCloudFormationType() string { + return "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" +} diff --git a/cloudformation/iot/aws-iot-provisioningtemplate.go b/cloudformation/iot/aws-iot-provisioningtemplate.go index 3ff375ab3a..95178589b6 100644 --- a/cloudformation/iot/aws-iot-provisioningtemplate.go +++ b/cloudformation/iot/aws-iot-provisioningtemplate.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // ProvisioningTemplate AWS CloudFormation Resource (AWS::IoT::ProvisioningTemplate) @@ -35,7 +36,7 @@ type ProvisioningTemplate struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-tags - Tags *ProvisioningTemplate_Tags `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // TemplateBody AWS CloudFormation Property // Required: true diff --git a/cloudformation/iot/aws-iot-scheduledaudit.go b/cloudformation/iot/aws-iot-scheduledaudit.go new file mode 100644 index 0000000000..05df27e994 --- /dev/null +++ b/cloudformation/iot/aws-iot-scheduledaudit.go @@ -0,0 +1,132 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// ScheduledAudit AWS CloudFormation Resource (AWS::IoT::ScheduledAudit) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html +type ScheduledAudit struct { + + // DayOfMonth AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html#cfn-iot-scheduledaudit-dayofmonth + DayOfMonth string `json:"DayOfMonth,omitempty"` + + // DayOfWeek AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html#cfn-iot-scheduledaudit-dayofweek + DayOfWeek string `json:"DayOfWeek,omitempty"` + + // Frequency AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html#cfn-iot-scheduledaudit-frequency + Frequency string `json:"Frequency,omitempty"` + + // ScheduledAuditName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html#cfn-iot-scheduledaudit-scheduledauditname + ScheduledAuditName string `json:"ScheduledAuditName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html#cfn-iot-scheduledaudit-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TargetCheckNames AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html#cfn-iot-scheduledaudit-targetchecknames + TargetCheckNames []string `json:"TargetCheckNames,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ScheduledAudit) AWSCloudFormationType() string { + return "AWS::IoT::ScheduledAudit" +} + +// 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 ScheduledAudit) MarshalJSON() ([]byte, error) { + type Properties ScheduledAudit + return json.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 *ScheduledAudit) UnmarshalJSON(b []byte) error { + type Properties ScheduledAudit + 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 = ScheduledAudit(*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-securityprofile.go b/cloudformation/iot/aws-iot-securityprofile.go new file mode 100644 index 0000000000..f1f93ff70b --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile.go @@ -0,0 +1,137 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// SecurityProfile AWS CloudFormation Resource (AWS::IoT::SecurityProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html +type SecurityProfile struct { + + // AdditionalMetricsToRetainV2 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-additionalmetricstoretainv2 + AdditionalMetricsToRetainV2 []SecurityProfile_MetricToRetain `json:"AdditionalMetricsToRetainV2,omitempty"` + + // AlertTargets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-alerttargets + AlertTargets map[string]SecurityProfile_AlertTarget `json:"AlertTargets,omitempty"` + + // Behaviors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-behaviors + Behaviors []SecurityProfile_Behavior `json:"Behaviors,omitempty"` + + // SecurityProfileDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-securityprofiledescription + SecurityProfileDescription string `json:"SecurityProfileDescription,omitempty"` + + // SecurityProfileName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-securityprofilename + SecurityProfileName string `json:"SecurityProfileName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TargetArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-targetarns + TargetArns []string `json:"TargetArns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SecurityProfile) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile" +} + +// 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 SecurityProfile) MarshalJSON() ([]byte, error) { + type Properties SecurityProfile + return json.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 *SecurityProfile) UnmarshalJSON(b []byte) error { + type Properties SecurityProfile + 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 = SecurityProfile(*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-securityprofile_alerttarget.go b/cloudformation/iot/aws-iot-securityprofile_alerttarget.go new file mode 100644 index 0000000000..1f3ad82b6d --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_alerttarget.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_AlertTarget AWS CloudFormation Resource (AWS::IoT::SecurityProfile.AlertTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-alerttarget.html +type SecurityProfile_AlertTarget struct { + + // AlertTargetArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-alerttarget.html#cfn-iot-securityprofile-alerttarget-alerttargetarn + AlertTargetArn string `json:"AlertTargetArn,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-alerttarget.html#cfn-iot-securityprofile-alerttarget-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 *SecurityProfile_AlertTarget) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.AlertTarget" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_behavior.go b/cloudformation/iot/aws-iot-securityprofile_behavior.go new file mode 100644 index 0000000000..f766f25609 --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_behavior.go @@ -0,0 +1,55 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_Behavior AWS CloudFormation Resource (AWS::IoT::SecurityProfile.Behavior) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html +type SecurityProfile_Behavior struct { + + // Criteria AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-criteria + Criteria *SecurityProfile_BehaviorCriteria `json:"Criteria,omitempty"` + + // Metric AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-metric + Metric string `json:"Metric,omitempty"` + + // MetricDimension AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-metricdimension + MetricDimension *SecurityProfile_MetricDimension `json:"MetricDimension,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-name + Name string `json:"Name,omitempty"` + + // SuppressAlerts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-suppressalerts + SuppressAlerts bool `json:"SuppressAlerts,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SecurityProfile_Behavior) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.Behavior" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_behaviorcriteria.go b/cloudformation/iot/aws-iot-securityprofile_behaviorcriteria.go new file mode 100644 index 0000000000..14d7b5ac04 --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_behaviorcriteria.go @@ -0,0 +1,65 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_BehaviorCriteria AWS CloudFormation Resource (AWS::IoT::SecurityProfile.BehaviorCriteria) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html +type SecurityProfile_BehaviorCriteria struct { + + // ComparisonOperator AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html#cfn-iot-securityprofile-behaviorcriteria-comparisonoperator + ComparisonOperator string `json:"ComparisonOperator,omitempty"` + + // ConsecutiveDatapointsToAlarm AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html#cfn-iot-securityprofile-behaviorcriteria-consecutivedatapointstoalarm + ConsecutiveDatapointsToAlarm int `json:"ConsecutiveDatapointsToAlarm,omitempty"` + + // ConsecutiveDatapointsToClear AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html#cfn-iot-securityprofile-behaviorcriteria-consecutivedatapointstoclear + ConsecutiveDatapointsToClear int `json:"ConsecutiveDatapointsToClear,omitempty"` + + // DurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html#cfn-iot-securityprofile-behaviorcriteria-durationseconds + DurationSeconds int `json:"DurationSeconds,omitempty"` + + // MlDetectionConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html#cfn-iot-securityprofile-behaviorcriteria-mldetectionconfig + MlDetectionConfig *SecurityProfile_MachineLearningDetectionConfig `json:"MlDetectionConfig,omitempty"` + + // StatisticalThreshold AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html#cfn-iot-securityprofile-behaviorcriteria-statisticalthreshold + StatisticalThreshold *SecurityProfile_StatisticalThreshold `json:"StatisticalThreshold,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html#cfn-iot-securityprofile-behaviorcriteria-value + Value *SecurityProfile_MetricValue `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 *SecurityProfile_BehaviorCriteria) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.BehaviorCriteria" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_machinelearningdetectionconfig.go b/cloudformation/iot/aws-iot-securityprofile_machinelearningdetectionconfig.go new file mode 100644 index 0000000000..45ff94b0de --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_machinelearningdetectionconfig.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_MachineLearningDetectionConfig AWS CloudFormation Resource (AWS::IoT::SecurityProfile.MachineLearningDetectionConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-machinelearningdetectionconfig.html +type SecurityProfile_MachineLearningDetectionConfig struct { + + // ConfidenceLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-machinelearningdetectionconfig.html#cfn-iot-securityprofile-machinelearningdetectionconfig-confidencelevel + ConfidenceLevel string `json:"ConfidenceLevel,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SecurityProfile_MachineLearningDetectionConfig) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_metricdimension.go b/cloudformation/iot/aws-iot-securityprofile_metricdimension.go new file mode 100644 index 0000000000..9b3c92794b --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_metricdimension.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_MetricDimension AWS CloudFormation Resource (AWS::IoT::SecurityProfile.MetricDimension) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricdimension.html +type SecurityProfile_MetricDimension struct { + + // DimensionName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricdimension.html#cfn-iot-securityprofile-metricdimension-dimensionname + DimensionName string `json:"DimensionName,omitempty"` + + // Operator AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricdimension.html#cfn-iot-securityprofile-metricdimension-operator + Operator string `json:"Operator,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SecurityProfile_MetricDimension) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.MetricDimension" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_metrictoretain.go b/cloudformation/iot/aws-iot-securityprofile_metrictoretain.go new file mode 100644 index 0000000000..c83dffbd29 --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_metrictoretain.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_MetricToRetain AWS CloudFormation Resource (AWS::IoT::SecurityProfile.MetricToRetain) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html +type SecurityProfile_MetricToRetain struct { + + // Metric AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html#cfn-iot-securityprofile-metrictoretain-metric + Metric string `json:"Metric,omitempty"` + + // MetricDimension AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html#cfn-iot-securityprofile-metrictoretain-metricdimension + MetricDimension *SecurityProfile_MetricDimension `json:"MetricDimension,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SecurityProfile_MetricToRetain) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.MetricToRetain" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_metricvalue.go b/cloudformation/iot/aws-iot-securityprofile_metricvalue.go new file mode 100644 index 0000000000..6bebb8d0ce --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_metricvalue.go @@ -0,0 +1,60 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_MetricValue AWS CloudFormation Resource (AWS::IoT::SecurityProfile.MetricValue) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html +type SecurityProfile_MetricValue struct { + + // Cidrs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html#cfn-iot-securityprofile-metricvalue-cidrs + Cidrs []string `json:"Cidrs,omitempty"` + + // Count AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html#cfn-iot-securityprofile-metricvalue-count + Count string `json:"Count,omitempty"` + + // Number AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html#cfn-iot-securityprofile-metricvalue-number + Number float64 `json:"Number,omitempty"` + + // Numbers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html#cfn-iot-securityprofile-metricvalue-numbers + Numbers []float64 `json:"Numbers,omitempty"` + + // Ports AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html#cfn-iot-securityprofile-metricvalue-ports + Ports []int `json:"Ports,omitempty"` + + // Strings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html#cfn-iot-securityprofile-metricvalue-strings + Strings []string `json:"Strings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SecurityProfile_MetricValue) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.MetricValue" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_statisticalthreshold.go b/cloudformation/iot/aws-iot-securityprofile_statisticalthreshold.go new file mode 100644 index 0000000000..aa664d871b --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_statisticalthreshold.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SecurityProfile_StatisticalThreshold AWS CloudFormation Resource (AWS::IoT::SecurityProfile.StatisticalThreshold) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-statisticalthreshold.html +type SecurityProfile_StatisticalThreshold struct { + + // Statistic AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-statisticalthreshold.html#cfn-iot-securityprofile-statisticalthreshold-statistic + Statistic string `json:"Statistic,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *SecurityProfile_StatisticalThreshold) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.StatisticalThreshold" +} diff --git a/cloudformation/iot/aws-iot-topicruledestination.go b/cloudformation/iot/aws-iot-topicruledestination.go new file mode 100644 index 0000000000..21c85e4a2d --- /dev/null +++ b/cloudformation/iot/aws-iot-topicruledestination.go @@ -0,0 +1,116 @@ +package iot + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRuleDestination AWS CloudFormation Resource (AWS::IoT::TopicRuleDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html +type TopicRuleDestination struct { + + // HttpUrlProperties AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html#cfn-iot-topicruledestination-httpurlproperties + HttpUrlProperties *TopicRuleDestination_HttpUrlDestinationSummary `json:"HttpUrlProperties,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html#cfn-iot-topicruledestination-status + Status string `json:"Status,omitempty"` + + // VpcProperties AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html#cfn-iot-topicruledestination-vpcproperties + VpcProperties *TopicRuleDestination_VpcDestinationProperties `json:"VpcProperties,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRuleDestination) AWSCloudFormationType() string { + return "AWS::IoT::TopicRuleDestination" +} + +// 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 TopicRuleDestination) MarshalJSON() ([]byte, error) { + type Properties TopicRuleDestination + return json.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 *TopicRuleDestination) UnmarshalJSON(b []byte) error { + type Properties TopicRuleDestination + 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 = TopicRuleDestination(*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-topicruledestination_httpurldestinationsummary.go b/cloudformation/iot/aws-iot-topicruledestination_httpurldestinationsummary.go new file mode 100644 index 0000000000..88593f9f9d --- /dev/null +++ b/cloudformation/iot/aws-iot-topicruledestination_httpurldestinationsummary.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRuleDestination_HttpUrlDestinationSummary AWS CloudFormation Resource (AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-httpurldestinationsummary.html +type TopicRuleDestination_HttpUrlDestinationSummary struct { + + // ConfirmationUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-httpurldestinationsummary.html#cfn-iot-topicruledestination-httpurldestinationsummary-confirmationurl + ConfirmationUrl string `json:"ConfirmationUrl,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRuleDestination_HttpUrlDestinationSummary) AWSCloudFormationType() string { + return "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" +} diff --git a/cloudformation/iot/aws-iot-topicruledestination_vpcdestinationproperties.go b/cloudformation/iot/aws-iot-topicruledestination_vpcdestinationproperties.go new file mode 100644 index 0000000000..ecb1eecfff --- /dev/null +++ b/cloudformation/iot/aws-iot-topicruledestination_vpcdestinationproperties.go @@ -0,0 +1,50 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRuleDestination_VpcDestinationProperties AWS CloudFormation Resource (AWS::IoT::TopicRuleDestination.VpcDestinationProperties) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-vpcdestinationproperties.html +type TopicRuleDestination_VpcDestinationProperties struct { + + // RoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-vpcdestinationproperties.html#cfn-iot-topicruledestination-vpcdestinationproperties-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SecurityGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-vpcdestinationproperties.html#cfn-iot-topicruledestination-vpcdestinationproperties-securitygroups + SecurityGroups []string `json:"SecurityGroups,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-vpcdestinationproperties.html#cfn-iot-topicruledestination-vpcdestinationproperties-subnetids + SubnetIds []string `json:"SubnetIds,omitempty"` + + // VpcId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-vpcdestinationproperties.html#cfn-iot-topicruledestination-vpcdestinationproperties-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 *TopicRuleDestination_VpcDestinationProperties) AWSCloudFormationType() string { + return "AWS::IoT::TopicRuleDestination.VpcDestinationProperties" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset.go index bcc3749353..c2f9b6945c 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-dataset.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset.go @@ -28,6 +28,11 @@ type Dataset struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-datasetname DatasetName string `json:"DatasetName,omitempty"` + // LateDataRules AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-latedatarules + LateDataRules []Dataset_LateDataRule `json:"LateDataRules,omitempty"` + // RetentionPeriod AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-retentionperiod diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatimesessionwindowconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatimesessionwindowconfiguration.go new file mode 100644 index 0000000000..914dee6af8 --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_deltatimesessionwindowconfiguration.go @@ -0,0 +1,35 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dataset_DeltaTimeSessionWindowConfiguration AWS CloudFormation Resource (AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-deltatimesessionwindowconfiguration.html +type Dataset_DeltaTimeSessionWindowConfiguration struct { + + // TimeoutInMinutes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-deltatimesessionwindowconfiguration.html#cfn-iotanalytics-dataset-deltatimesessionwindowconfiguration-timeoutinminutes + TimeoutInMinutes int `json:"TimeoutInMinutes"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dataset_DeltaTimeSessionWindowConfiguration) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_latedatarule.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_latedatarule.go new file mode 100644 index 0000000000..78d650dc70 --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_latedatarule.go @@ -0,0 +1,40 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dataset_LateDataRule AWS CloudFormation Resource (AWS::IoTAnalytics::Dataset.LateDataRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-latedatarule.html +type Dataset_LateDataRule struct { + + // RuleConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-latedatarule.html#cfn-iotanalytics-dataset-latedatarule-ruleconfiguration + RuleConfiguration *Dataset_LateDataRuleConfiguration `json:"RuleConfiguration,omitempty"` + + // RuleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-latedatarule.html#cfn-iotanalytics-dataset-latedatarule-rulename + RuleName string `json:"RuleName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dataset_LateDataRule) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Dataset.LateDataRule" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-dataset_latedataruleconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-dataset_latedataruleconfiguration.go new file mode 100644 index 0000000000..6354670308 --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-dataset_latedataruleconfiguration.go @@ -0,0 +1,35 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dataset_LateDataRuleConfiguration AWS CloudFormation Resource (AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-latedataruleconfiguration.html +type Dataset_LateDataRuleConfiguration struct { + + // DeltaTimeSessionWindowConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-latedataruleconfiguration.html#cfn-iotanalytics-dataset-latedataruleconfiguration-deltatimesessionwindowconfiguration + DeltaTimeSessionWindowConfiguration *Dataset_DeltaTimeSessionWindowConfiguration `json:"DeltaTimeSessionWindowConfiguration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dataset_LateDataRuleConfiguration) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore.go index 22a45239f0..278b1b50d6 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-datastore.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore.go @@ -23,6 +23,11 @@ type Datastore struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-datastorestorage DatastoreStorage *Datastore_DatastoreStorage `json:"DatastoreStorage,omitempty"` + // FileFormatConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-fileformatconfiguration + FileFormatConfiguration *Datastore_FileFormatConfiguration `json:"FileFormatConfiguration,omitempty"` + // RetentionPeriod AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-retentionperiod diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_column.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_column.go new file mode 100644 index 0000000000..212225d2f6 --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_column.go @@ -0,0 +1,40 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Datastore_Column AWS CloudFormation Resource (AWS::IoTAnalytics::Datastore.Column) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-column.html +type Datastore_Column struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-column.html#cfn-iotanalytics-datastore-column-name + Name string `json:"Name,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-column.html#cfn-iotanalytics-datastore-column-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 *Datastore_Column) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Datastore.Column" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_fileformatconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_fileformatconfiguration.go new file mode 100644 index 0000000000..50b62036de --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_fileformatconfiguration.go @@ -0,0 +1,40 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Datastore_FileFormatConfiguration AWS CloudFormation Resource (AWS::IoTAnalytics::Datastore.FileFormatConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-fileformatconfiguration.html +type Datastore_FileFormatConfiguration struct { + + // JsonConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-fileformatconfiguration.html#cfn-iotanalytics-datastore-fileformatconfiguration-jsonconfiguration + JsonConfiguration *Datastore_JsonConfiguration `json:"JsonConfiguration,omitempty"` + + // ParquetConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-fileformatconfiguration.html#cfn-iotanalytics-datastore-fileformatconfiguration-parquetconfiguration + ParquetConfiguration *Datastore_ParquetConfiguration `json:"ParquetConfiguration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Datastore_FileFormatConfiguration) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Datastore.FileFormatConfiguration" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_jsonconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_jsonconfiguration.go new file mode 100644 index 0000000000..c76d356bcb --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_jsonconfiguration.go @@ -0,0 +1,30 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Datastore_JsonConfiguration AWS CloudFormation Resource (AWS::IoTAnalytics::Datastore.JsonConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-jsonconfiguration.html +type Datastore_JsonConfiguration struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Datastore_JsonConfiguration) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Datastore.JsonConfiguration" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_parquetconfiguration.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_parquetconfiguration.go new file mode 100644 index 0000000000..bebfdaa65b --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_parquetconfiguration.go @@ -0,0 +1,35 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Datastore_ParquetConfiguration AWS CloudFormation Resource (AWS::IoTAnalytics::Datastore.ParquetConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-parquetconfiguration.html +type Datastore_ParquetConfiguration struct { + + // SchemaDefinition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-parquetconfiguration.html#cfn-iotanalytics-datastore-parquetconfiguration-schemadefinition + SchemaDefinition *Datastore_SchemaDefinition `json:"SchemaDefinition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Datastore_ParquetConfiguration) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Datastore.ParquetConfiguration" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_schemadefinition.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_schemadefinition.go new file mode 100644 index 0000000000..742d1e059a --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_schemadefinition.go @@ -0,0 +1,35 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Datastore_SchemaDefinition AWS CloudFormation Resource (AWS::IoTAnalytics::Datastore.SchemaDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-schemadefinition.html +type Datastore_SchemaDefinition struct { + + // Columns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-schemadefinition.html#cfn-iotanalytics-datastore-schemadefinition-columns + Columns []Datastore_Column `json:"Columns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Datastore_SchemaDefinition) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Datastore.SchemaDefinition" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy.go new file mode 100644 index 0000000000..3d4e42510f --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy.go @@ -0,0 +1,116 @@ +package iotsitewise + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html +type AccessPolicy struct { + + // AccessPolicyIdentity AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html#cfn-iotsitewise-accesspolicy-accesspolicyidentity + AccessPolicyIdentity *AccessPolicy_AccessPolicyIdentity `json:"AccessPolicyIdentity,omitempty"` + + // AccessPolicyPermission AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html#cfn-iotsitewise-accesspolicy-accesspolicypermission + AccessPolicyPermission string `json:"AccessPolicyPermission,omitempty"` + + // AccessPolicyResource AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html#cfn-iotsitewise-accesspolicy-accesspolicyresource + AccessPolicyResource *AccessPolicy_AccessPolicyResource `json:"AccessPolicyResource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy" +} + +// 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 AccessPolicy) MarshalJSON() ([]byte, error) { + type Properties AccessPolicy + return json.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 *AccessPolicy) UnmarshalJSON(b []byte) error { + type Properties AccessPolicy + 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 = AccessPolicy(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyidentity.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyidentity.go new file mode 100644 index 0000000000..2021b0fd51 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyidentity.go @@ -0,0 +1,45 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy_AccessPolicyIdentity AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyidentity.html +type AccessPolicy_AccessPolicyIdentity struct { + + // IamRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyidentity.html#cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamrole + IamRole *AccessPolicy_IamRole `json:"IamRole,omitempty"` + + // IamUser AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyidentity.html#cfn-iotsitewise-accesspolicy-accesspolicyidentity-iamuser + IamUser *AccessPolicy_IamUser `json:"IamUser,omitempty"` + + // User AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyidentity.html#cfn-iotsitewise-accesspolicy-accesspolicyidentity-user + User *AccessPolicy_User `json:"User,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy_AccessPolicyIdentity) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyresource.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyresource.go new file mode 100644 index 0000000000..aa5b65f3b9 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_accesspolicyresource.go @@ -0,0 +1,40 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy_AccessPolicyResource AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyresource.html +type AccessPolicy_AccessPolicyResource struct { + + // Portal AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyresource.html#cfn-iotsitewise-accesspolicy-accesspolicyresource-portal + Portal *AccessPolicy_Portal `json:"Portal,omitempty"` + + // Project AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-accesspolicyresource.html#cfn-iotsitewise-accesspolicy-accesspolicyresource-project + Project *AccessPolicy_Project `json:"Project,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy_AccessPolicyResource) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamrole.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamrole.go new file mode 100644 index 0000000000..feaa632860 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamrole.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy_IamRole AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy.IamRole) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-iamrole.html +type AccessPolicy_IamRole struct { + + // arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-iamrole.html#cfn-iotsitewise-accesspolicy-iamrole-arn + arn string `json:"arn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy_IamRole) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy.IamRole" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamuser.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamuser.go new file mode 100644 index 0000000000..7c50545c3a --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_iamuser.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy_IamUser AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy.IamUser) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-iamuser.html +type AccessPolicy_IamUser struct { + + // arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-iamuser.html#cfn-iotsitewise-accesspolicy-iamuser-arn + arn string `json:"arn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy_IamUser) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy.IamUser" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_portal.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_portal.go new file mode 100644 index 0000000000..9698c639fd --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_portal.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy_Portal AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy.Portal) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-portal.html +type AccessPolicy_Portal struct { + + // id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-portal.html#cfn-iotsitewise-accesspolicy-portal-id + id string `json:"id,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy_Portal) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy.Portal" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_project.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_project.go new file mode 100644 index 0000000000..71fd337e3f --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_project.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy_Project AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy.Project) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-project.html +type AccessPolicy_Project struct { + + // id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-project.html#cfn-iotsitewise-accesspolicy-project-id + id string `json:"id,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy_Project) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy.Project" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_user.go b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_user.go new file mode 100644 index 0000000000..e508e84b2f --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-accesspolicy_user.go @@ -0,0 +1,35 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPolicy_User AWS CloudFormation Resource (AWS::IoTSiteWise::AccessPolicy.User) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-user.html +type AccessPolicy_User struct { + + // id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-accesspolicy-user.html#cfn-iotsitewise-accesspolicy-user-id + id string `json:"id,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AccessPolicy_User) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AccessPolicy.User" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go index 81fcdb5c17..0f479dafc1 100644 --- a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html type AssetModel struct { + // AssetModelCompositeModels AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html#cfn-iotsitewise-assetmodel-assetmodelcompositemodels + AssetModelCompositeModels []AssetModel_AssetModelCompositeModel `json:"AssetModelCompositeModels,omitempty"` + // AssetModelDescription AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html#cfn-iotsitewise-assetmodel-assetmodeldescription diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelcompositemodel.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelcompositemodel.go new file mode 100644 index 0000000000..734a67fa51 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelcompositemodel.go @@ -0,0 +1,50 @@ +package iotsitewise + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AssetModel_AssetModelCompositeModel AWS CloudFormation Resource (AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html +type AssetModel_AssetModelCompositeModel struct { + + // CompositeModelProperties AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-compositemodelproperties + CompositeModelProperties []AssetModel_AssetModelProperty `json:"CompositeModelProperties,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-name + Name string `json:"Name,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelcompositemodel.html#cfn-iotsitewise-assetmodel-assetmodelcompositemodel-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 *AssetModel_AssetModelCompositeModel) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go index 241a4b9c77..b3b0724ee2 100644 --- a/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go +++ b/cloudformation/iotsitewise/aws-iotsitewise-assetmodel_assetmodelproperty.go @@ -13,6 +13,11 @@ type AssetModel_AssetModelProperty struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-datatype DataType string `json:"DataType,omitempty"` + // DataTypeSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-datatypespec + DataTypeSpec string `json:"DataTypeSpec,omitempty"` + // LogicalId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-assetmodelproperty.html#cfn-iotsitewise-assetmodel-assetmodelproperty-logicalid diff --git a/cloudformation/iotsitewise/aws-iotsitewise-dashboard.go b/cloudformation/iotsitewise/aws-iotsitewise-dashboard.go new file mode 100644 index 0000000000..e75d38a6f8 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-dashboard.go @@ -0,0 +1,127 @@ +package iotsitewise + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Dashboard AWS CloudFormation Resource (AWS::IoTSiteWise::Dashboard) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html +type Dashboard struct { + + // DashboardDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html#cfn-iotsitewise-dashboard-dashboarddefinition + DashboardDefinition string `json:"DashboardDefinition,omitempty"` + + // DashboardDescription AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html#cfn-iotsitewise-dashboard-dashboarddescription + DashboardDescription string `json:"DashboardDescription,omitempty"` + + // DashboardName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html#cfn-iotsitewise-dashboard-dashboardname + DashboardName string `json:"DashboardName,omitempty"` + + // ProjectId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html#cfn-iotsitewise-dashboard-projectid + ProjectId string `json:"ProjectId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html#cfn-iotsitewise-dashboard-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 *Dashboard) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Dashboard" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Dashboard) UnmarshalJSON(b []byte) error { + type Properties Dashboard + 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 = Dashboard(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-portal.go b/cloudformation/iotsitewise/aws-iotsitewise-portal.go new file mode 100644 index 0000000000..ad9259e6d0 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-portal.go @@ -0,0 +1,132 @@ +package iotsitewise + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Portal AWS CloudFormation Resource (AWS::IoTSiteWise::Portal) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html +type Portal struct { + + // PortalAuthMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html#cfn-iotsitewise-portal-portalauthmode + PortalAuthMode string `json:"PortalAuthMode,omitempty"` + + // PortalContactEmail AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html#cfn-iotsitewise-portal-portalcontactemail + PortalContactEmail string `json:"PortalContactEmail,omitempty"` + + // PortalDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html#cfn-iotsitewise-portal-portaldescription + PortalDescription string `json:"PortalDescription,omitempty"` + + // PortalName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html#cfn-iotsitewise-portal-portalname + PortalName string `json:"PortalName,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html#cfn-iotsitewise-portal-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html#cfn-iotsitewise-portal-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 *Portal) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Portal" +} + +// 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 Portal) MarshalJSON() ([]byte, error) { + type Properties Portal + return json.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 *Portal) UnmarshalJSON(b []byte) error { + type Properties Portal + 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 = Portal(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/iotsitewise/aws-iotsitewise-project.go b/cloudformation/iotsitewise/aws-iotsitewise-project.go new file mode 100644 index 0000000000..0a54f09449 --- /dev/null +++ b/cloudformation/iotsitewise/aws-iotsitewise-project.go @@ -0,0 +1,122 @@ +package iotsitewise + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Project AWS CloudFormation Resource (AWS::IoTSiteWise::Project) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html +type Project struct { + + // PortalId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html#cfn-iotsitewise-project-portalid + PortalId string `json:"PortalId,omitempty"` + + // ProjectDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html#cfn-iotsitewise-project-projectdescription + ProjectDescription string `json:"ProjectDescription,omitempty"` + + // ProjectName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html#cfn-iotsitewise-project-projectname + ProjectName string `json:"ProjectName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html#cfn-iotsitewise-project-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 *Project) AWSCloudFormationType() string { + return "AWS::IoTSiteWise::Project" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Project) UnmarshalJSON(b []byte) error { + type Properties Project + 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 = Project(*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/iotwireless/aws-iotwireless-destination.go b/cloudformation/iotwireless/aws-iotwireless-destination.go new file mode 100644 index 0000000000..7cd7a0b667 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-destination.go @@ -0,0 +1,132 @@ +package iotwireless + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Destination AWS CloudFormation Resource (AWS::IoTWireless::Destination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html +type Destination struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-description + Description string `json:"Description,omitempty"` + + // Expression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-expression + Expression string `json:"Expression,omitempty"` + + // ExpressionType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-expressiontype + ExpressionType string `json:"ExpressionType,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-name + Name string `json:"Name,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-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 *Destination) AWSCloudFormationType() string { + return "AWS::IoTWireless::Destination" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Destination) UnmarshalJSON(b []byte) error { + type Properties Destination + 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 = Destination(*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/iotwireless/aws-iotwireless-deviceprofile.go b/cloudformation/iotwireless/aws-iotwireless-deviceprofile.go new file mode 100644 index 0000000000..092e2e360f --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-deviceprofile.go @@ -0,0 +1,117 @@ +package iotwireless + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// DeviceProfile AWS CloudFormation Resource (AWS::IoTWireless::DeviceProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html +type DeviceProfile struct { + + // LoRaWAN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-lorawan + LoRaWAN *DeviceProfile_LoRaWANDeviceProfile `json:"LoRaWAN,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-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 *DeviceProfile) AWSCloudFormationType() string { + return "AWS::IoTWireless::DeviceProfile" +} + +// 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 DeviceProfile) MarshalJSON() ([]byte, error) { + type Properties DeviceProfile + return json.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 *DeviceProfile) UnmarshalJSON(b []byte) error { + type Properties DeviceProfile + 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 = DeviceProfile(*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/iotwireless/aws-iotwireless-deviceprofile_lorawandeviceprofile.go b/cloudformation/iotwireless/aws-iotwireless-deviceprofile_lorawandeviceprofile.go new file mode 100644 index 0000000000..f2af267d81 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-deviceprofile_lorawandeviceprofile.go @@ -0,0 +1,100 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeviceProfile_LoRaWANDeviceProfile AWS CloudFormation Resource (AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html +type DeviceProfile_LoRaWANDeviceProfile struct { + + // ClassBTimeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-classbtimeout + ClassBTimeout int `json:"ClassBTimeout,omitempty"` + + // ClassCTimeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-classctimeout + ClassCTimeout int `json:"ClassCTimeout,omitempty"` + + // MacVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-macversion + MacVersion string `json:"MacVersion,omitempty"` + + // MaxDutyCycle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-maxdutycycle + MaxDutyCycle int `json:"MaxDutyCycle,omitempty"` + + // MaxEirp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-maxeirp + MaxEirp int `json:"MaxEirp,omitempty"` + + // PingSlotDr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-pingslotdr + PingSlotDr int `json:"PingSlotDr,omitempty"` + + // PingSlotFreq AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-pingslotfreq + PingSlotFreq int `json:"PingSlotFreq,omitempty"` + + // PingSlotPeriod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-pingslotperiod + PingSlotPeriod int `json:"PingSlotPeriod,omitempty"` + + // RegParamsRevision AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-regparamsrevision + RegParamsRevision string `json:"RegParamsRevision,omitempty"` + + // RfRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-rfregion + RfRegion string `json:"RfRegion,omitempty"` + + // Supports32BitFCnt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-supports32bitfcnt + Supports32BitFCnt bool `json:"Supports32BitFCnt,omitempty"` + + // SupportsClassB AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-supportsclassb + SupportsClassB bool `json:"SupportsClassB,omitempty"` + + // SupportsClassC AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-supportsclassc + SupportsClassC bool `json:"SupportsClassC,omitempty"` + + // SupportsJoin AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-deviceprofile-lorawandeviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile-supportsjoin + SupportsJoin bool `json:"SupportsJoin,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeviceProfile_LoRaWANDeviceProfile) AWSCloudFormationType() string { + return "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-serviceprofile.go b/cloudformation/iotwireless/aws-iotwireless-serviceprofile.go new file mode 100644 index 0000000000..dc69faa6f9 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-serviceprofile.go @@ -0,0 +1,117 @@ +package iotwireless + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// ServiceProfile AWS CloudFormation Resource (AWS::IoTWireless::ServiceProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html +type ServiceProfile struct { + + // LoRaWAN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-lorawan + LoRaWAN *ServiceProfile_LoRaWANServiceProfile `json:"LoRaWAN,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-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 *ServiceProfile) AWSCloudFormationType() string { + return "AWS::IoTWireless::ServiceProfile" +} + +// 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 ServiceProfile) MarshalJSON() ([]byte, error) { + type Properties ServiceProfile + return json.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 *ServiceProfile) UnmarshalJSON(b []byte) error { + type Properties ServiceProfile + 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 = ServiceProfile(*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/iotwireless/aws-iotwireless-serviceprofile_lorawanserviceprofile.go b/cloudformation/iotwireless/aws-iotwireless-serviceprofile_lorawanserviceprofile.go new file mode 100644 index 0000000000..4a01f57d4f --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-serviceprofile_lorawanserviceprofile.go @@ -0,0 +1,125 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ServiceProfile_LoRaWANServiceProfile AWS CloudFormation Resource (AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html +type ServiceProfile_LoRaWANServiceProfile struct { + + // AddGwMetadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-addgwmetadata + AddGwMetadata bool `json:"AddGwMetadata,omitempty"` + + // ChannelMask AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-channelmask + ChannelMask string `json:"ChannelMask,omitempty"` + + // DevStatusReqFreq AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-devstatusreqfreq + DevStatusReqFreq int `json:"DevStatusReqFreq,omitempty"` + + // DlBucketSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-dlbucketsize + DlBucketSize int `json:"DlBucketSize,omitempty"` + + // DlRate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-dlrate + DlRate int `json:"DlRate,omitempty"` + + // DlRatePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-dlratepolicy + DlRatePolicy string `json:"DlRatePolicy,omitempty"` + + // DrMax AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-drmax + DrMax int `json:"DrMax,omitempty"` + + // DrMin AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-drmin + DrMin int `json:"DrMin,omitempty"` + + // HrAllowed AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-hrallowed + HrAllowed bool `json:"HrAllowed,omitempty"` + + // MinGwDiversity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-mingwdiversity + MinGwDiversity int `json:"MinGwDiversity,omitempty"` + + // NwkGeoLoc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-nwkgeoloc + NwkGeoLoc bool `json:"NwkGeoLoc,omitempty"` + + // PrAllowed AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-prallowed + PrAllowed bool `json:"PrAllowed,omitempty"` + + // RaAllowed AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-raallowed + RaAllowed bool `json:"RaAllowed,omitempty"` + + // ReportDevStatusBattery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-reportdevstatusbattery + ReportDevStatusBattery bool `json:"ReportDevStatusBattery,omitempty"` + + // ReportDevStatusMargin AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-reportdevstatusmargin + ReportDevStatusMargin bool `json:"ReportDevStatusMargin,omitempty"` + + // TargetPer AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-targetper + TargetPer int `json:"TargetPer,omitempty"` + + // UlBucketSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-ulbucketsize + UlBucketSize int `json:"UlBucketSize,omitempty"` + + // UlRate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-ulrate + UlRate int `json:"UlRate,omitempty"` + + // UlRatePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-serviceprofile-lorawanserviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile-ulratepolicy + UlRatePolicy string `json:"UlRatePolicy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ServiceProfile_LoRaWANServiceProfile) AWSCloudFormationType() string { + return "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go new file mode 100644 index 0000000000..a1b1c9d117 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go @@ -0,0 +1,142 @@ +package iotwireless + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// WirelessDevice AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html +type WirelessDevice struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-description + Description string `json:"Description,omitempty"` + + // DestinationName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-destinationname + DestinationName string `json:"DestinationName,omitempty"` + + // LastUplinkReceivedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-lastuplinkreceivedat + LastUplinkReceivedAt string `json:"LastUplinkReceivedAt,omitempty"` + + // LoRaWAN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-lorawan + LoRaWAN *WirelessDevice_LoRaWANDevice `json:"LoRaWAN,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // ThingArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-thingarn + ThingArn string `json:"ThingArn,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-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 *WirelessDevice) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice" +} + +// 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 WirelessDevice) MarshalJSON() ([]byte, error) { + type Properties WirelessDevice + return json.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 *WirelessDevice) UnmarshalJSON(b []byte) error { + type Properties WirelessDevice + 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 = WirelessDevice(*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/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go new file mode 100644 index 0000000000..4c118c98ef --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go @@ -0,0 +1,40 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessDevice_AbpV10x AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.AbpV10x) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv10x.html +type WirelessDevice_AbpV10x struct { + + // DevAddr AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv10x.html#cfn-iotwireless-wirelessdevice-abpv10x-devaddr + DevAddr string `json:"DevAddr,omitempty"` + + // SessionKeys AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv10x.html#cfn-iotwireless-wirelessdevice-abpv10x-sessionkeys + SessionKeys *WirelessDevice_SessionKeysAbpV10x `json:"SessionKeys,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessDevice_AbpV10x) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.AbpV10x" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv11.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv11.go new file mode 100644 index 0000000000..8a4dc50455 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv11.go @@ -0,0 +1,40 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessDevice_AbpV11 AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.AbpV11) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv11.html +type WirelessDevice_AbpV11 struct { + + // DevAddr AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv11.html#cfn-iotwireless-wirelessdevice-abpv11-devaddr + DevAddr string `json:"DevAddr,omitempty"` + + // SessionKeys AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv11.html#cfn-iotwireless-wirelessdevice-abpv11-sessionkeys + SessionKeys *WirelessDevice_SessionKeysAbpV11 `json:"SessionKeys,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessDevice_AbpV11) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.AbpV11" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go new file mode 100644 index 0000000000..bfea8b341d --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go @@ -0,0 +1,65 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessDevice_LoRaWANDevice AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.LoRaWANDevice) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html +type WirelessDevice_LoRaWANDevice struct { + + // AbpV10x AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-abpv10x + AbpV10x *WirelessDevice_AbpV10x `json:"AbpV10x,omitempty"` + + // AbpV11 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-abpv11 + AbpV11 *WirelessDevice_AbpV11 `json:"AbpV11,omitempty"` + + // DevEui AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-deveui + DevEui string `json:"DevEui,omitempty"` + + // DeviceProfileId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-deviceprofileid + DeviceProfileId string `json:"DeviceProfileId,omitempty"` + + // OtaaV10x AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-otaav10x + OtaaV10x *WirelessDevice_OtaaV10x `json:"OtaaV10x,omitempty"` + + // OtaaV11 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-otaav11 + OtaaV11 *WirelessDevice_OtaaV11 `json:"OtaaV11,omitempty"` + + // ServiceProfileId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-serviceprofileid + ServiceProfileId string `json:"ServiceProfileId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessDevice_LoRaWANDevice) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.LoRaWANDevice" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go new file mode 100644 index 0000000000..0b262e23e5 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go @@ -0,0 +1,40 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessDevice_OtaaV10x AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.OtaaV10x) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav10x.html +type WirelessDevice_OtaaV10x struct { + + // AppEui AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav10x.html#cfn-iotwireless-wirelessdevice-otaav10x-appeui + AppEui string `json:"AppEui,omitempty"` + + // AppKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav10x.html#cfn-iotwireless-wirelessdevice-otaav10x-appkey + AppKey string `json:"AppKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessDevice_OtaaV10x) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.OtaaV10x" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav11.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav11.go new file mode 100644 index 0000000000..863574abbb --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav11.go @@ -0,0 +1,45 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessDevice_OtaaV11 AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.OtaaV11) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav11.html +type WirelessDevice_OtaaV11 struct { + + // AppKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav11.html#cfn-iotwireless-wirelessdevice-otaav11-appkey + AppKey string `json:"AppKey,omitempty"` + + // JoinEui AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav11.html#cfn-iotwireless-wirelessdevice-otaav11-joineui + JoinEui string `json:"JoinEui,omitempty"` + + // NwkKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav11.html#cfn-iotwireless-wirelessdevice-otaav11-nwkkey + NwkKey string `json:"NwkKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessDevice_OtaaV11) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.OtaaV11" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go new file mode 100644 index 0000000000..fb52e6c170 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go @@ -0,0 +1,40 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessDevice_SessionKeysAbpV10x AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv10x.html +type WirelessDevice_SessionKeysAbpV10x struct { + + // AppSKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv10x.html#cfn-iotwireless-wirelessdevice-sessionkeysabpv10x-appskey + AppSKey string `json:"AppSKey,omitempty"` + + // NwkSKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv10x.html#cfn-iotwireless-wirelessdevice-sessionkeysabpv10x-nwkskey + NwkSKey string `json:"NwkSKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessDevice_SessionKeysAbpV10x) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv11.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv11.go new file mode 100644 index 0000000000..350e917653 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv11.go @@ -0,0 +1,50 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessDevice_SessionKeysAbpV11 AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv11.html +type WirelessDevice_SessionKeysAbpV11 struct { + + // AppSKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv11.html#cfn-iotwireless-wirelessdevice-sessionkeysabpv11-appskey + AppSKey string `json:"AppSKey,omitempty"` + + // FNwkSIntKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv11.html#cfn-iotwireless-wirelessdevice-sessionkeysabpv11-fnwksintkey + FNwkSIntKey string `json:"FNwkSIntKey,omitempty"` + + // NwkSEncKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv11.html#cfn-iotwireless-wirelessdevice-sessionkeysabpv11-nwksenckey + NwkSEncKey string `json:"NwkSEncKey,omitempty"` + + // SNwkSIntKey AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv11.html#cfn-iotwireless-wirelessdevice-sessionkeysabpv11-snwksintkey + SNwkSIntKey string `json:"SNwkSIntKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessDevice_SessionKeysAbpV11) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go b/cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go new file mode 100644 index 0000000000..54c01ec99c --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go @@ -0,0 +1,132 @@ +package iotwireless + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// WirelessGateway AWS CloudFormation Resource (AWS::IoTWireless::WirelessGateway) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html +type WirelessGateway struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-description + Description string `json:"Description,omitempty"` + + // LastUplinkReceivedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-lastuplinkreceivedat + LastUplinkReceivedAt string `json:"LastUplinkReceivedAt,omitempty"` + + // LoRaWAN AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-lorawan + LoRaWAN *WirelessGateway_LoRaWANGateway `json:"LoRaWAN,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // ThingArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-thingarn + ThingArn string `json:"ThingArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessGateway) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessGateway" +} + +// 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 WirelessGateway) MarshalJSON() ([]byte, error) { + type Properties WirelessGateway + return json.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 *WirelessGateway) UnmarshalJSON(b []byte) error { + type Properties WirelessGateway + 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 = WirelessGateway(*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/iotwireless/aws-iotwireless-wirelessgateway_lorawangateway.go b/cloudformation/iotwireless/aws-iotwireless-wirelessgateway_lorawangateway.go new file mode 100644 index 0000000000..6f50e19712 --- /dev/null +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessgateway_lorawangateway.go @@ -0,0 +1,40 @@ +package iotwireless + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// WirelessGateway_LoRaWANGateway AWS CloudFormation Resource (AWS::IoTWireless::WirelessGateway.LoRaWANGateway) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessgateway-lorawangateway.html +type WirelessGateway_LoRaWANGateway struct { + + // GatewayEui AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessgateway-lorawangateway.html#cfn-iotwireless-wirelessgateway-lorawangateway-gatewayeui + GatewayEui string `json:"GatewayEui,omitempty"` + + // RfRegion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessgateway-lorawangateway.html#cfn-iotwireless-wirelessgateway-lorawangateway-rfregion + RfRegion string `json:"RfRegion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *WirelessGateway_LoRaWANGateway) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessGateway.LoRaWANGateway" +} diff --git a/cloudformation/kendra/aws-kendra-datasource.go b/cloudformation/kendra/aws-kendra-datasource.go index 54dbc42eba..074cd280e9 100644 --- a/cloudformation/kendra/aws-kendra-datasource.go +++ b/cloudformation/kendra/aws-kendra-datasource.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // DataSource AWS CloudFormation Resource (AWS::Kendra::DataSource) @@ -13,7 +14,7 @@ import ( type DataSource struct { // DataSourceConfiguration AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-datasourceconfiguration DataSourceConfiguration *DataSource_DataSourceConfiguration `json:"DataSourceConfiguration,omitempty"` @@ -33,7 +34,7 @@ type DataSource struct { Name string `json:"Name,omitempty"` // RoleArn AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-rolearn RoleArn string `json:"RoleArn,omitempty"` @@ -45,7 +46,7 @@ type DataSource struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-tags - Tags *DataSource_TagList `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // Type AWS CloudFormation Property // Required: true diff --git a/cloudformation/kendra/aws-kendra-datasource_confluenceattachmentconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_confluenceattachmentconfiguration.go new file mode 100644 index 0000000000..8f3582a2aa --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluenceattachmentconfiguration.go @@ -0,0 +1,40 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceAttachmentConfiguration AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmentconfiguration.html +type DataSource_ConfluenceAttachmentConfiguration struct { + + // AttachmentFieldMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmentconfiguration.html#cfn-kendra-datasource-confluenceattachmentconfiguration-attachmentfieldmappings + AttachmentFieldMappings *DataSource_ConfluenceAttachmentFieldMappingsList `json:"AttachmentFieldMappings,omitempty"` + + // CrawlAttachments AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmentconfiguration.html#cfn-kendra-datasource-confluenceattachmentconfiguration-crawlattachments + CrawlAttachments bool `json:"CrawlAttachments,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceAttachmentConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluenceattachmentfieldmappingslist.go b/cloudformation/kendra/aws-kendra-datasource_confluenceattachmentfieldmappingslist.go new file mode 100644 index 0000000000..62962fc488 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluenceattachmentfieldmappingslist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceAttachmentFieldMappingsList AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmentfieldmappingslist.html +type DataSource_ConfluenceAttachmentFieldMappingsList struct { + + // ConfluenceAttachmentFieldMappingsList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmentfieldmappingslist.html#cfn-kendra-datasource-confluenceattachmentfieldmappingslist-confluenceattachmentfieldmappingslist + ConfluenceAttachmentFieldMappingsList []DataSource_ConfluenceAttachmentToIndexFieldMapping `json:"ConfluenceAttachmentFieldMappingsList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceAttachmentFieldMappingsList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluenceattachmenttoindexfieldmapping.go b/cloudformation/kendra/aws-kendra-datasource_confluenceattachmenttoindexfieldmapping.go new file mode 100644 index 0000000000..3b528bcebc --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluenceattachmenttoindexfieldmapping.go @@ -0,0 +1,45 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceAttachmentToIndexFieldMapping AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmenttoindexfieldmapping.html +type DataSource_ConfluenceAttachmentToIndexFieldMapping struct { + + // DataSourceFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmenttoindexfieldmapping.html#cfn-kendra-datasource-confluenceattachmenttoindexfieldmapping-datasourcefieldname + DataSourceFieldName string `json:"DataSourceFieldName,omitempty"` + + // DateFieldFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmenttoindexfieldmapping.html#cfn-kendra-datasource-confluenceattachmenttoindexfieldmapping-datefieldformat + DateFieldFormat string `json:"DateFieldFormat,omitempty"` + + // IndexFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceattachmenttoindexfieldmapping.html#cfn-kendra-datasource-confluenceattachmenttoindexfieldmapping-indexfieldname + IndexFieldName string `json:"IndexFieldName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceAttachmentToIndexFieldMapping) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluenceblogconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_confluenceblogconfiguration.go new file mode 100644 index 0000000000..cd6e1e2312 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluenceblogconfiguration.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceBlogConfiguration AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceBlogConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogconfiguration.html +type DataSource_ConfluenceBlogConfiguration struct { + + // BlogFieldMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogconfiguration.html#cfn-kendra-datasource-confluenceblogconfiguration-blogfieldmappings + BlogFieldMappings *DataSource_ConfluenceBlogFieldMappingsList `json:"BlogFieldMappings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceBlogConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceBlogConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluenceblogfieldmappingslist.go b/cloudformation/kendra/aws-kendra-datasource_confluenceblogfieldmappingslist.go new file mode 100644 index 0000000000..e51224e89c --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluenceblogfieldmappingslist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceBlogFieldMappingsList AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogfieldmappingslist.html +type DataSource_ConfluenceBlogFieldMappingsList struct { + + // ConfluenceBlogFieldMappingsList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogfieldmappingslist.html#cfn-kendra-datasource-confluenceblogfieldmappingslist-confluenceblogfieldmappingslist + ConfluenceBlogFieldMappingsList []DataSource_ConfluenceBlogToIndexFieldMapping `json:"ConfluenceBlogFieldMappingsList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceBlogFieldMappingsList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluenceblogtoindexfieldmapping.go b/cloudformation/kendra/aws-kendra-datasource_confluenceblogtoindexfieldmapping.go new file mode 100644 index 0000000000..fdcafa02d3 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluenceblogtoindexfieldmapping.go @@ -0,0 +1,45 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceBlogToIndexFieldMapping AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogtoindexfieldmapping.html +type DataSource_ConfluenceBlogToIndexFieldMapping struct { + + // DataSourceFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogtoindexfieldmapping.html#cfn-kendra-datasource-confluenceblogtoindexfieldmapping-datasourcefieldname + DataSourceFieldName string `json:"DataSourceFieldName,omitempty"` + + // DateFieldFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogtoindexfieldmapping.html#cfn-kendra-datasource-confluenceblogtoindexfieldmapping-datefieldformat + DateFieldFormat string `json:"DateFieldFormat,omitempty"` + + // IndexFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceblogtoindexfieldmapping.html#cfn-kendra-datasource-confluenceblogtoindexfieldmapping-indexfieldname + IndexFieldName string `json:"IndexFieldName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceBlogToIndexFieldMapping) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluenceconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_confluenceconfiguration.go new file mode 100644 index 0000000000..61965b3c34 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluenceconfiguration.go @@ -0,0 +1,80 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceConfiguration AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html +type DataSource_ConfluenceConfiguration struct { + + // AttachmentConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-attachmentconfiguration + AttachmentConfiguration *DataSource_ConfluenceAttachmentConfiguration `json:"AttachmentConfiguration,omitempty"` + + // BlogConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-blogconfiguration + BlogConfiguration *DataSource_ConfluenceBlogConfiguration `json:"BlogConfiguration,omitempty"` + + // ExclusionPatterns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-exclusionpatterns + ExclusionPatterns *DataSource_DataSourceInclusionsExclusionsStrings `json:"ExclusionPatterns,omitempty"` + + // InclusionPatterns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-inclusionpatterns + InclusionPatterns *DataSource_DataSourceInclusionsExclusionsStrings `json:"InclusionPatterns,omitempty"` + + // PageConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-pageconfiguration + PageConfiguration *DataSource_ConfluencePageConfiguration `json:"PageConfiguration,omitempty"` + + // SecretArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-secretarn + SecretArn string `json:"SecretArn,omitempty"` + + // ServerUrl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-serverurl + ServerUrl string `json:"ServerUrl,omitempty"` + + // SpaceConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-spaceconfiguration + SpaceConfiguration *DataSource_ConfluenceSpaceConfiguration `json:"SpaceConfiguration,omitempty"` + + // Version AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-version + Version string `json:"Version,omitempty"` + + // VpcConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluenceconfiguration.html#cfn-kendra-datasource-confluenceconfiguration-vpcconfiguration + VpcConfiguration *DataSource_DataSourceVpcConfiguration `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:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluencepageconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_confluencepageconfiguration.go new file mode 100644 index 0000000000..7825ca8608 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluencepageconfiguration.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluencePageConfiguration AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluencePageConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepageconfiguration.html +type DataSource_ConfluencePageConfiguration struct { + + // PageFieldMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepageconfiguration.html#cfn-kendra-datasource-confluencepageconfiguration-pagefieldmappings + PageFieldMappings *DataSource_ConfluencePageFieldMappingsList `json:"PageFieldMappings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluencePageConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluencePageConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluencepagefieldmappingslist.go b/cloudformation/kendra/aws-kendra-datasource_confluencepagefieldmappingslist.go new file mode 100644 index 0000000000..18107c37a2 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluencepagefieldmappingslist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluencePageFieldMappingsList AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluencePageFieldMappingsList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepagefieldmappingslist.html +type DataSource_ConfluencePageFieldMappingsList struct { + + // ConfluencePageFieldMappingsList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepagefieldmappingslist.html#cfn-kendra-datasource-confluencepagefieldmappingslist-confluencepagefieldmappingslist + ConfluencePageFieldMappingsList []DataSource_ConfluencePageToIndexFieldMapping `json:"ConfluencePageFieldMappingsList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluencePageFieldMappingsList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluencePageFieldMappingsList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluencepagetoindexfieldmapping.go b/cloudformation/kendra/aws-kendra-datasource_confluencepagetoindexfieldmapping.go new file mode 100644 index 0000000000..cd4650b4a5 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluencepagetoindexfieldmapping.go @@ -0,0 +1,45 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluencePageToIndexFieldMapping AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepagetoindexfieldmapping.html +type DataSource_ConfluencePageToIndexFieldMapping struct { + + // DataSourceFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepagetoindexfieldmapping.html#cfn-kendra-datasource-confluencepagetoindexfieldmapping-datasourcefieldname + DataSourceFieldName string `json:"DataSourceFieldName,omitempty"` + + // DateFieldFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepagetoindexfieldmapping.html#cfn-kendra-datasource-confluencepagetoindexfieldmapping-datefieldformat + DateFieldFormat string `json:"DateFieldFormat,omitempty"` + + // IndexFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencepagetoindexfieldmapping.html#cfn-kendra-datasource-confluencepagetoindexfieldmapping-indexfieldname + IndexFieldName string `json:"IndexFieldName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluencePageToIndexFieldMapping) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluencespaceconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_confluencespaceconfiguration.go new file mode 100644 index 0000000000..b9cd750166 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluencespaceconfiguration.go @@ -0,0 +1,55 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceSpaceConfiguration AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceSpaceConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespaceconfiguration.html +type DataSource_ConfluenceSpaceConfiguration struct { + + // CrawlArchivedSpaces AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespaceconfiguration.html#cfn-kendra-datasource-confluencespaceconfiguration-crawlarchivedspaces + CrawlArchivedSpaces bool `json:"CrawlArchivedSpaces,omitempty"` + + // CrawlPersonalSpaces AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespaceconfiguration.html#cfn-kendra-datasource-confluencespaceconfiguration-crawlpersonalspaces + CrawlPersonalSpaces bool `json:"CrawlPersonalSpaces,omitempty"` + + // ExcludeSpaces AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespaceconfiguration.html#cfn-kendra-datasource-confluencespaceconfiguration-excludespaces + ExcludeSpaces *DataSource_ConfluenceSpaceList `json:"ExcludeSpaces,omitempty"` + + // IncludeSpaces AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespaceconfiguration.html#cfn-kendra-datasource-confluencespaceconfiguration-includespaces + IncludeSpaces *DataSource_ConfluenceSpaceList `json:"IncludeSpaces,omitempty"` + + // SpaceFieldMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespaceconfiguration.html#cfn-kendra-datasource-confluencespaceconfiguration-spacefieldmappings + SpaceFieldMappings *DataSource_ConfluenceSpaceFieldMappingsList `json:"SpaceFieldMappings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceSpaceConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluencespacefieldmappingslist.go b/cloudformation/kendra/aws-kendra-datasource_confluencespacefieldmappingslist.go new file mode 100644 index 0000000000..27a391d474 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluencespacefieldmappingslist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceSpaceFieldMappingsList AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacefieldmappingslist.html +type DataSource_ConfluenceSpaceFieldMappingsList struct { + + // ConfluenceSpaceFieldMappingsList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacefieldmappingslist.html#cfn-kendra-datasource-confluencespacefieldmappingslist-confluencespacefieldmappingslist + ConfluenceSpaceFieldMappingsList []DataSource_ConfluenceSpaceToIndexFieldMapping `json:"ConfluenceSpaceFieldMappingsList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceSpaceFieldMappingsList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluencespacelist.go b/cloudformation/kendra/aws-kendra-datasource_confluencespacelist.go new file mode 100644 index 0000000000..d285cb5eb9 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluencespacelist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceSpaceList AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceSpaceList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacelist.html +type DataSource_ConfluenceSpaceList struct { + + // ConfluenceSpaceList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacelist.html#cfn-kendra-datasource-confluencespacelist-confluencespacelist + ConfluenceSpaceList []string `json:"ConfluenceSpaceList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceSpaceList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceSpaceList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_confluencespacetoindexfieldmapping.go b/cloudformation/kendra/aws-kendra-datasource_confluencespacetoindexfieldmapping.go new file mode 100644 index 0000000000..ce25ff7d77 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_confluencespacetoindexfieldmapping.go @@ -0,0 +1,45 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ConfluenceSpaceToIndexFieldMapping AWS CloudFormation Resource (AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacetoindexfieldmapping.html +type DataSource_ConfluenceSpaceToIndexFieldMapping struct { + + // DataSourceFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacetoindexfieldmapping.html#cfn-kendra-datasource-confluencespacetoindexfieldmapping-datasourcefieldname + DataSourceFieldName string `json:"DataSourceFieldName,omitempty"` + + // DateFieldFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacetoindexfieldmapping.html#cfn-kendra-datasource-confluencespacetoindexfieldmapping-datefieldformat + DateFieldFormat string `json:"DateFieldFormat,omitempty"` + + // IndexFieldName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespacetoindexfieldmapping.html#cfn-kendra-datasource-confluencespacetoindexfieldmapping-indexfieldname + IndexFieldName string `json:"IndexFieldName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ConfluenceSpaceToIndexFieldMapping) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_datasourceconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_datasourceconfiguration.go index 1fa1c4fbda..b83bbff0bc 100644 --- a/cloudformation/kendra/aws-kendra-datasource_datasourceconfiguration.go +++ b/cloudformation/kendra/aws-kendra-datasource_datasourceconfiguration.go @@ -8,11 +8,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html type DataSource_DataSourceConfiguration struct { + // ConfluenceConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-confluenceconfiguration + ConfluenceConfiguration *DataSource_ConfluenceConfiguration `json:"ConfluenceConfiguration,omitempty"` + // DatabaseConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-databaseconfiguration DatabaseConfiguration *DataSource_DatabaseConfiguration `json:"DatabaseConfiguration,omitempty"` + // GoogleDriveConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-googledriveconfiguration + GoogleDriveConfiguration *DataSource_GoogleDriveConfiguration `json:"GoogleDriveConfiguration,omitempty"` + // OneDriveConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-onedriveconfiguration diff --git a/cloudformation/kendra/aws-kendra-datasource_excludemimetypeslist.go b/cloudformation/kendra/aws-kendra-datasource_excludemimetypeslist.go new file mode 100644 index 0000000000..6d88c540c4 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_excludemimetypeslist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ExcludeMimeTypesList AWS CloudFormation Resource (AWS::Kendra::DataSource.ExcludeMimeTypesList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-excludemimetypeslist.html +type DataSource_ExcludeMimeTypesList struct { + + // ExcludeMimeTypesList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-excludemimetypeslist.html#cfn-kendra-datasource-excludemimetypeslist-excludemimetypeslist + ExcludeMimeTypesList []string `json:"ExcludeMimeTypesList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ExcludeMimeTypesList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ExcludeMimeTypesList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_excludeshareddriveslist.go b/cloudformation/kendra/aws-kendra-datasource_excludeshareddriveslist.go new file mode 100644 index 0000000000..0e9dff9e69 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_excludeshareddriveslist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ExcludeSharedDrivesList AWS CloudFormation Resource (AWS::Kendra::DataSource.ExcludeSharedDrivesList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-excludeshareddriveslist.html +type DataSource_ExcludeSharedDrivesList struct { + + // ExcludeSharedDrivesList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-excludeshareddriveslist.html#cfn-kendra-datasource-excludeshareddriveslist-excludeshareddriveslist + ExcludeSharedDrivesList []string `json:"ExcludeSharedDrivesList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ExcludeSharedDrivesList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ExcludeSharedDrivesList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_excludeuseraccountslist.go b/cloudformation/kendra/aws-kendra-datasource_excludeuseraccountslist.go new file mode 100644 index 0000000000..224760a7a8 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_excludeuseraccountslist.go @@ -0,0 +1,35 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_ExcludeUserAccountsList AWS CloudFormation Resource (AWS::Kendra::DataSource.ExcludeUserAccountsList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-excludeuseraccountslist.html +type DataSource_ExcludeUserAccountsList struct { + + // ExcludeUserAccountsList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-excludeuseraccountslist.html#cfn-kendra-datasource-excludeuseraccountslist-excludeuseraccountslist + ExcludeUserAccountsList []string `json:"ExcludeUserAccountsList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_ExcludeUserAccountsList) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.ExcludeUserAccountsList" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_googledriveconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_googledriveconfiguration.go new file mode 100644 index 0000000000..c6621036d9 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-datasource_googledriveconfiguration.go @@ -0,0 +1,65 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataSource_GoogleDriveConfiguration AWS CloudFormation Resource (AWS::Kendra::DataSource.GoogleDriveConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html +type DataSource_GoogleDriveConfiguration struct { + + // ExcludeMimeTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-excludemimetypes + ExcludeMimeTypes *DataSource_ExcludeMimeTypesList `json:"ExcludeMimeTypes,omitempty"` + + // ExcludeSharedDrives AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-excludeshareddrives + ExcludeSharedDrives *DataSource_ExcludeSharedDrivesList `json:"ExcludeSharedDrives,omitempty"` + + // ExcludeUserAccounts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-excludeuseraccounts + ExcludeUserAccounts *DataSource_ExcludeUserAccountsList `json:"ExcludeUserAccounts,omitempty"` + + // ExclusionPatterns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-exclusionpatterns + ExclusionPatterns *DataSource_DataSourceInclusionsExclusionsStrings `json:"ExclusionPatterns,omitempty"` + + // FieldMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-fieldmappings + FieldMappings *DataSource_DataSourceToIndexFieldMappingList `json:"FieldMappings,omitempty"` + + // InclusionPatterns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-inclusionpatterns + InclusionPatterns *DataSource_DataSourceInclusionsExclusionsStrings `json:"InclusionPatterns,omitempty"` + + // SecretArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-secretarn + SecretArn string `json:"SecretArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataSource_GoogleDriveConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::DataSource.GoogleDriveConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-datasource_onedriveconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_onedriveconfiguration.go index a12f494106..d4af1665ee 100644 --- a/cloudformation/kendra/aws-kendra-datasource_onedriveconfiguration.go +++ b/cloudformation/kendra/aws-kendra-datasource_onedriveconfiguration.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html type DataSource_OneDriveConfiguration struct { + // DisableLocalGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-disablelocalgroups + DisableLocalGroups bool `json:"DisableLocalGroups,omitempty"` + // ExclusionPatterns AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-exclusionpatterns diff --git a/cloudformation/kendra/aws-kendra-datasource_s3datasourceconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_s3datasourceconfiguration.go index 57984a2cd6..e115c5788d 100644 --- a/cloudformation/kendra/aws-kendra-datasource_s3datasourceconfiguration.go +++ b/cloudformation/kendra/aws-kendra-datasource_s3datasourceconfiguration.go @@ -28,6 +28,11 @@ type DataSource_S3DataSourceConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-exclusionpatterns ExclusionPatterns *DataSource_DataSourceInclusionsExclusionsStrings `json:"ExclusionPatterns,omitempty"` + // InclusionPatterns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-inclusionpatterns + InclusionPatterns *DataSource_DataSourceInclusionsExclusionsStrings `json:"InclusionPatterns,omitempty"` + // InclusionPrefixes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-inclusionprefixes diff --git a/cloudformation/kendra/aws-kendra-datasource_sharepointconfiguration.go b/cloudformation/kendra/aws-kendra-datasource_sharepointconfiguration.go index 366879b9b5..2bc4b08c59 100644 --- a/cloudformation/kendra/aws-kendra-datasource_sharepointconfiguration.go +++ b/cloudformation/kendra/aws-kendra-datasource_sharepointconfiguration.go @@ -13,6 +13,11 @@ type DataSource_SharePointConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-crawlattachments CrawlAttachments bool `json:"CrawlAttachments,omitempty"` + // DisableLocalGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-disablelocalgroups + DisableLocalGroups bool `json:"DisableLocalGroups,omitempty"` + // DocumentTitleFieldName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-documenttitlefieldname diff --git a/cloudformation/kendra/aws-kendra-faq.go b/cloudformation/kendra/aws-kendra-faq.go index 4483eb1905..839037368f 100644 --- a/cloudformation/kendra/aws-kendra-faq.go +++ b/cloudformation/kendra/aws-kendra-faq.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Faq AWS CloudFormation Resource (AWS::Kendra::Faq) @@ -45,7 +46,7 @@ type Faq struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-tags - Tags *Faq_TagList `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/kendra/aws-kendra-index.go b/cloudformation/kendra/aws-kendra-index.go index 560861e8b0..90d0e05e94 100644 --- a/cloudformation/kendra/aws-kendra-index.go +++ b/cloudformation/kendra/aws-kendra-index.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Index AWS CloudFormation Resource (AWS::Kendra::Index) @@ -25,7 +26,7 @@ type Index struct { // DocumentMetadataConfigurations AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-documentmetadataconfigurations - DocumentMetadataConfigurations *Index_DocumentMetadataConfigurationList `json:"DocumentMetadataConfigurations,omitempty"` + DocumentMetadataConfigurations []Index_DocumentMetadataConfiguration `json:"DocumentMetadataConfigurations,omitempty"` // Edition AWS CloudFormation Property // Required: true @@ -50,7 +51,17 @@ type Index struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-tags - Tags *Index_TagList `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` + + // UserContextPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-usercontextpolicy + UserContextPolicy string `json:"UserContextPolicy,omitempty"` + + // UserTokenConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-usertokenconfigurations + UserTokenConfigurations []Index_UserTokenConfiguration `json:"UserTokenConfigurations,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/kendra/aws-kendra-index_jsontokentypeconfiguration.go b/cloudformation/kendra/aws-kendra-index_jsontokentypeconfiguration.go new file mode 100644 index 0000000000..4509799ff0 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-index_jsontokentypeconfiguration.go @@ -0,0 +1,40 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Index_JsonTokenTypeConfiguration AWS CloudFormation Resource (AWS::Kendra::Index.JsonTokenTypeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jsontokentypeconfiguration.html +type Index_JsonTokenTypeConfiguration struct { + + // GroupAttributeField AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jsontokentypeconfiguration.html#cfn-kendra-index-jsontokentypeconfiguration-groupattributefield + GroupAttributeField string `json:"GroupAttributeField,omitempty"` + + // UserNameAttributeField AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jsontokentypeconfiguration.html#cfn-kendra-index-jsontokentypeconfiguration-usernameattributefield + UserNameAttributeField string `json:"UserNameAttributeField,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Index_JsonTokenTypeConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::Index.JsonTokenTypeConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-index_jwttokentypeconfiguration.go b/cloudformation/kendra/aws-kendra-index_jwttokentypeconfiguration.go new file mode 100644 index 0000000000..f72bbb3ed3 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-index_jwttokentypeconfiguration.go @@ -0,0 +1,65 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Index_JwtTokenTypeConfiguration AWS CloudFormation Resource (AWS::Kendra::Index.JwtTokenTypeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html +type Index_JwtTokenTypeConfiguration struct { + + // ClaimRegex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html#cfn-kendra-index-jwttokentypeconfiguration-claimregex + ClaimRegex string `json:"ClaimRegex,omitempty"` + + // GroupAttributeField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html#cfn-kendra-index-jwttokentypeconfiguration-groupattributefield + GroupAttributeField string `json:"GroupAttributeField,omitempty"` + + // Issuer AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html#cfn-kendra-index-jwttokentypeconfiguration-issuer + Issuer string `json:"Issuer,omitempty"` + + // KeyLocation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html#cfn-kendra-index-jwttokentypeconfiguration-keylocation + KeyLocation string `json:"KeyLocation,omitempty"` + + // SecretManagerArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html#cfn-kendra-index-jwttokentypeconfiguration-secretmanagerarn + SecretManagerArn string `json:"SecretManagerArn,omitempty"` + + // URL AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html#cfn-kendra-index-jwttokentypeconfiguration-url + URL string `json:"URL,omitempty"` + + // UserNameAttributeField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-jwttokentypeconfiguration.html#cfn-kendra-index-jwttokentypeconfiguration-usernameattributefield + UserNameAttributeField string `json:"UserNameAttributeField,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Index_JwtTokenTypeConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::Index.JwtTokenTypeConfiguration" +} diff --git a/cloudformation/kendra/aws-kendra-index_usertokenconfiguration.go b/cloudformation/kendra/aws-kendra-index_usertokenconfiguration.go new file mode 100644 index 0000000000..7461d75c34 --- /dev/null +++ b/cloudformation/kendra/aws-kendra-index_usertokenconfiguration.go @@ -0,0 +1,40 @@ +package kendra + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Index_UserTokenConfiguration AWS CloudFormation Resource (AWS::Kendra::Index.UserTokenConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-usertokenconfiguration.html +type Index_UserTokenConfiguration struct { + + // JsonTokenTypeConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-usertokenconfiguration.html#cfn-kendra-index-usertokenconfiguration-jsontokentypeconfiguration + JsonTokenTypeConfiguration *Index_JsonTokenTypeConfiguration `json:"JsonTokenTypeConfiguration,omitempty"` + + // JwtTokenTypeConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-usertokenconfiguration.html#cfn-kendra-index-usertokenconfiguration-jwttokentypeconfiguration + JwtTokenTypeConfiguration *Index_JwtTokenTypeConfiguration `json:"JwtTokenTypeConfiguration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Index_UserTokenConfiguration) AWSCloudFormationType() string { + return "AWS::Kendra::Index.UserTokenConfiguration" +} diff --git a/cloudformation/kms/aws-kms-key.go b/cloudformation/kms/aws-kms-key.go index c73f996789..4c97967fc7 100644 --- a/cloudformation/kms/aws-kms-key.go +++ b/cloudformation/kms/aws-kms-key.go @@ -33,6 +33,11 @@ type Key struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-keypolicy KeyPolicy interface{} `json:"KeyPolicy,omitempty"` + // KeySpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-keyspec + KeySpec string `json:"KeySpec,omitempty"` + // KeyUsage AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-keyusage diff --git a/cloudformation/lambda/aws-lambda-codesigningconfig.go b/cloudformation/lambda/aws-lambda-codesigningconfig.go new file mode 100644 index 0000000000..c68215014e --- /dev/null +++ b/cloudformation/lambda/aws-lambda-codesigningconfig.go @@ -0,0 +1,116 @@ +package lambda + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CodeSigningConfig AWS CloudFormation Resource (AWS::Lambda::CodeSigningConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html +type CodeSigningConfig struct { + + // AllowedPublishers AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html#cfn-lambda-codesigningconfig-allowedpublishers + AllowedPublishers *CodeSigningConfig_AllowedPublishers `json:"AllowedPublishers,omitempty"` + + // CodeSigningPolicies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html#cfn-lambda-codesigningconfig-codesigningpolicies + CodeSigningPolicies *CodeSigningConfig_CodeSigningPolicies `json:"CodeSigningPolicies,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html#cfn-lambda-codesigningconfig-description + Description string `json:"Description,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CodeSigningConfig) AWSCloudFormationType() string { + return "AWS::Lambda::CodeSigningConfig" +} + +// 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 CodeSigningConfig) MarshalJSON() ([]byte, error) { + type Properties CodeSigningConfig + return json.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 *CodeSigningConfig) UnmarshalJSON(b []byte) error { + type Properties CodeSigningConfig + 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 = CodeSigningConfig(*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/lambda/aws-lambda-codesigningconfig_allowedpublishers.go b/cloudformation/lambda/aws-lambda-codesigningconfig_allowedpublishers.go new file mode 100644 index 0000000000..f0f8d91345 --- /dev/null +++ b/cloudformation/lambda/aws-lambda-codesigningconfig_allowedpublishers.go @@ -0,0 +1,35 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CodeSigningConfig_AllowedPublishers AWS CloudFormation Resource (AWS::Lambda::CodeSigningConfig.AllowedPublishers) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-codesigningconfig-allowedpublishers.html +type CodeSigningConfig_AllowedPublishers struct { + + // SigningProfileVersionArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-codesigningconfig-allowedpublishers.html#cfn-lambda-codesigningconfig-allowedpublishers-signingprofileversionarns + SigningProfileVersionArns []string `json:"SigningProfileVersionArns,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CodeSigningConfig_AllowedPublishers) AWSCloudFormationType() string { + return "AWS::Lambda::CodeSigningConfig.AllowedPublishers" +} diff --git a/cloudformation/lambda/aws-lambda-codesigningconfig_codesigningpolicies.go b/cloudformation/lambda/aws-lambda-codesigningconfig_codesigningpolicies.go new file mode 100644 index 0000000000..1bd7f6f813 --- /dev/null +++ b/cloudformation/lambda/aws-lambda-codesigningconfig_codesigningpolicies.go @@ -0,0 +1,35 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// CodeSigningConfig_CodeSigningPolicies AWS CloudFormation Resource (AWS::Lambda::CodeSigningConfig.CodeSigningPolicies) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-codesigningconfig-codesigningpolicies.html +type CodeSigningConfig_CodeSigningPolicies struct { + + // UntrustedArtifactOnDeployment AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-codesigningconfig-codesigningpolicies.html#cfn-lambda-codesigningconfig-codesigningpolicies-untrustedartifactondeployment + UntrustedArtifactOnDeployment string `json:"UntrustedArtifactOnDeployment,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CodeSigningConfig_CodeSigningPolicies) AWSCloudFormationType() string { + return "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" +} diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping.go b/cloudformation/lambda/aws-lambda-eventsourcemapping.go index 6ca5e2816b..19ee39e526 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping.go @@ -33,7 +33,7 @@ type EventSourceMapping struct { Enabled bool `json:"Enabled,omitempty"` // EventSourceArn AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn EventSourceArn string `json:"EventSourceArn,omitempty"` @@ -42,6 +42,11 @@ type EventSourceMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionname FunctionName string `json:"FunctionName,omitempty"` + // FunctionResponseTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes + FunctionResponseTypes []string `json:"FunctionResponseTypes,omitempty"` + // MaximumBatchingWindowInSeconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds @@ -62,11 +67,21 @@ type EventSourceMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor ParallelizationFactor int `json:"ParallelizationFactor,omitempty"` + // PartialBatchResponse AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-partialbatchresponse + PartialBatchResponse bool `json:"PartialBatchResponse,omitempty"` + // Queues AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues Queues []string `json:"Queues,omitempty"` + // SelfManagedEventSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-selfmanagedeventsource + SelfManagedEventSource *EventSourceMapping_SelfManagedEventSource `json:"SelfManagedEventSource,omitempty"` + // SourceAccessConfigurations AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations @@ -82,6 +97,11 @@ type EventSourceMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics Topics []string `json:"Topics,omitempty"` + // TumblingWindowInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds + TumblingWindowInSeconds int `json:"TumblingWindowInSeconds,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_endpoints.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_endpoints.go new file mode 100644 index 0000000000..03cdc8153b --- /dev/null +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_endpoints.go @@ -0,0 +1,35 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EventSourceMapping_Endpoints AWS CloudFormation Resource (AWS::Lambda::EventSourceMapping.Endpoints) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-endpoints.html +type EventSourceMapping_Endpoints struct { + + // KafkaBootstrapServers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-endpoints.html#cfn-lambda-eventsourcemapping-endpoints-kafkabootstrapservers + KafkaBootstrapServers []string `json:"KafkaBootstrapServers,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EventSourceMapping_Endpoints) AWSCloudFormationType() string { + return "AWS::Lambda::EventSourceMapping.Endpoints" +} diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_selfmanagedeventsource.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_selfmanagedeventsource.go new file mode 100644 index 0000000000..44c1683be3 --- /dev/null +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_selfmanagedeventsource.go @@ -0,0 +1,35 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EventSourceMapping_SelfManagedEventSource AWS CloudFormation Resource (AWS::Lambda::EventSourceMapping.SelfManagedEventSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedeventsource.html +type EventSourceMapping_SelfManagedEventSource struct { + + // Endpoints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedeventsource.html#cfn-lambda-eventsourcemapping-selfmanagedeventsource-endpoints + Endpoints *EventSourceMapping_Endpoints `json:"Endpoints,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EventSourceMapping_SelfManagedEventSource) AWSCloudFormationType() string { + return "AWS::Lambda::EventSourceMapping.SelfManagedEventSource" +} diff --git a/cloudformation/lambda/aws-lambda-function.go b/cloudformation/lambda/aws-lambda-function.go index 4dd5bec4f4..43b9b5efda 100644 --- a/cloudformation/lambda/aws-lambda-function.go +++ b/cloudformation/lambda/aws-lambda-function.go @@ -18,6 +18,11 @@ type Function struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code Code *Function_Code `json:"Code,omitempty"` + // CodeSigningConfigArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-codesigningconfigarn + CodeSigningConfigArn string `json:"CodeSigningConfigArn,omitempty"` + // DeadLetterConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-deadletterconfig @@ -44,10 +49,15 @@ type Function struct { FunctionName string `json:"FunctionName,omitempty"` // Handler AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler Handler string `json:"Handler,omitempty"` + // ImageConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig + ImageConfig *Function_ImageConfig `json:"ImageConfig,omitempty"` + // KmsKeyArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn @@ -63,6 +73,11 @@ type Function struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize MemorySize int `json:"MemorySize,omitempty"` + // PackageType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-packagetype + PackageType string `json:"PackageType,omitempty"` + // ReservedConcurrentExecutions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-reservedconcurrentexecutions @@ -74,7 +89,7 @@ type Function struct { Role string `json:"Role,omitempty"` // Runtime AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime Runtime string `json:"Runtime,omitempty"` diff --git a/cloudformation/lambda/aws-lambda-function_code.go b/cloudformation/lambda/aws-lambda-function_code.go index ec86c5d681..0ae1d1f059 100644 --- a/cloudformation/lambda/aws-lambda-function_code.go +++ b/cloudformation/lambda/aws-lambda-function_code.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html type Function_Code struct { + // ImageUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri + ImageUri string `json:"ImageUri,omitempty"` + // S3Bucket AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket diff --git a/cloudformation/lambda/aws-lambda-function_imageconfig.go b/cloudformation/lambda/aws-lambda-function_imageconfig.go new file mode 100644 index 0000000000..db4b1ebddb --- /dev/null +++ b/cloudformation/lambda/aws-lambda-function_imageconfig.go @@ -0,0 +1,45 @@ +package lambda + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Function_ImageConfig AWS CloudFormation Resource (AWS::Lambda::Function.ImageConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-imageconfig.html +type Function_ImageConfig struct { + + // Command AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-imageconfig.html#cfn-lambda-function-imageconfig-command + Command []string `json:"Command,omitempty"` + + // EntryPoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-imageconfig.html#cfn-lambda-function-imageconfig-entrypoint + EntryPoint []string `json:"EntryPoint,omitempty"` + + // WorkingDirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-imageconfig.html#cfn-lambda-function-imageconfig-workingdirectory + WorkingDirectory string `json:"WorkingDirectory,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Function_ImageConfig) AWSCloudFormationType() string { + return "AWS::Lambda::Function.ImageConfig" +} diff --git a/cloudformation/licensemanager/aws-licensemanager-grant.go b/cloudformation/licensemanager/aws-licensemanager-grant.go new file mode 100644 index 0000000000..474b2e1524 --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-grant.go @@ -0,0 +1,131 @@ +package licensemanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Grant AWS CloudFormation Resource (AWS::LicenseManager::Grant) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html +type Grant struct { + + // AllowedOperations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html#cfn-licensemanager-grant-allowedoperations + AllowedOperations []string `json:"AllowedOperations,omitempty"` + + // GrantName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html#cfn-licensemanager-grant-grantname + GrantName string `json:"GrantName,omitempty"` + + // HomeRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html#cfn-licensemanager-grant-homeregion + HomeRegion string `json:"HomeRegion,omitempty"` + + // LicenseArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html#cfn-licensemanager-grant-licensearn + LicenseArn string `json:"LicenseArn,omitempty"` + + // Principals AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html#cfn-licensemanager-grant-principals + Principals []string `json:"Principals,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html#cfn-licensemanager-grant-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 *Grant) AWSCloudFormationType() string { + return "AWS::LicenseManager::Grant" +} + +// 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 Grant) MarshalJSON() ([]byte, error) { + type Properties Grant + return json.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 *Grant) UnmarshalJSON(b []byte) error { + type Properties Grant + 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 = Grant(*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/licensemanager/aws-licensemanager-license.go b/cloudformation/licensemanager/aws-licensemanager-license.go new file mode 100644 index 0000000000..4f62f85589 --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license.go @@ -0,0 +1,156 @@ +package licensemanager + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License AWS CloudFormation Resource (AWS::LicenseManager::License) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html +type License struct { + + // Beneficiary AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-beneficiary + Beneficiary string `json:"Beneficiary,omitempty"` + + // ConsumptionConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-consumptionconfiguration + ConsumptionConfiguration *License_ConsumptionConfiguration `json:"ConsumptionConfiguration,omitempty"` + + // Entitlements AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-entitlements + Entitlements []License_Entitlement `json:"Entitlements,omitempty"` + + // HomeRegion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-homeregion + HomeRegion string `json:"HomeRegion,omitempty"` + + // Issuer AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-issuer + Issuer *License_IssuerData `json:"Issuer,omitempty"` + + // LicenseMetadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-licensemetadata + LicenseMetadata []License_Metadata `json:"LicenseMetadata,omitempty"` + + // LicenseName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-licensename + LicenseName string `json:"LicenseName,omitempty"` + + // ProductName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-productname + ProductName string `json:"ProductName,omitempty"` + + // ProductSKU AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-productsku + ProductSKU string `json:"ProductSKU,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-status + Status string `json:"Status,omitempty"` + + // Validity AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html#cfn-licensemanager-license-validity + Validity *License_ValidityDateFormat `json:"Validity,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *License) AWSCloudFormationType() string { + return "AWS::LicenseManager::License" +} + +// 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 License) MarshalJSON() ([]byte, error) { + type Properties License + return json.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 *License) UnmarshalJSON(b []byte) error { + type Properties License + 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 = License(*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/licensemanager/aws-licensemanager-license_borrowconfiguration.go b/cloudformation/licensemanager/aws-licensemanager-license_borrowconfiguration.go new file mode 100644 index 0000000000..4e7dd1faf3 --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license_borrowconfiguration.go @@ -0,0 +1,40 @@ +package licensemanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License_BorrowConfiguration AWS CloudFormation Resource (AWS::LicenseManager::License.BorrowConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-borrowconfiguration.html +type License_BorrowConfiguration struct { + + // AllowEarlyCheckIn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-borrowconfiguration.html#cfn-licensemanager-license-borrowconfiguration-allowearlycheckin + AllowEarlyCheckIn bool `json:"AllowEarlyCheckIn"` + + // MaxTimeToLiveInMinutes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-borrowconfiguration.html#cfn-licensemanager-license-borrowconfiguration-maxtimetoliveinminutes + MaxTimeToLiveInMinutes int `json:"MaxTimeToLiveInMinutes"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *License_BorrowConfiguration) AWSCloudFormationType() string { + return "AWS::LicenseManager::License.BorrowConfiguration" +} diff --git a/cloudformation/licensemanager/aws-licensemanager-license_consumptionconfiguration.go b/cloudformation/licensemanager/aws-licensemanager-license_consumptionconfiguration.go new file mode 100644 index 0000000000..d3a70405be --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license_consumptionconfiguration.go @@ -0,0 +1,45 @@ +package licensemanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License_ConsumptionConfiguration AWS CloudFormation Resource (AWS::LicenseManager::License.ConsumptionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-consumptionconfiguration.html +type License_ConsumptionConfiguration struct { + + // BorrowConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-consumptionconfiguration.html#cfn-licensemanager-license-consumptionconfiguration-borrowconfiguration + BorrowConfiguration *License_BorrowConfiguration `json:"BorrowConfiguration,omitempty"` + + // ProvisionalConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-consumptionconfiguration.html#cfn-licensemanager-license-consumptionconfiguration-provisionalconfiguration + ProvisionalConfiguration *License_ProvisionalConfiguration `json:"ProvisionalConfiguration,omitempty"` + + // RenewType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-consumptionconfiguration.html#cfn-licensemanager-license-consumptionconfiguration-renewtype + RenewType string `json:"RenewType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *License_ConsumptionConfiguration) AWSCloudFormationType() string { + return "AWS::LicenseManager::License.ConsumptionConfiguration" +} diff --git a/cloudformation/licensemanager/aws-licensemanager-license_entitlement.go b/cloudformation/licensemanager/aws-licensemanager-license_entitlement.go new file mode 100644 index 0000000000..df5f832fe7 --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license_entitlement.go @@ -0,0 +1,60 @@ +package licensemanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License_Entitlement AWS CloudFormation Resource (AWS::LicenseManager::License.Entitlement) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html +type License_Entitlement struct { + + // AllowCheckIn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html#cfn-licensemanager-license-entitlement-allowcheckin + AllowCheckIn bool `json:"AllowCheckIn,omitempty"` + + // MaxCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html#cfn-licensemanager-license-entitlement-maxcount + MaxCount int `json:"MaxCount,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html#cfn-licensemanager-license-entitlement-name + Name string `json:"Name,omitempty"` + + // Overage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html#cfn-licensemanager-license-entitlement-overage + Overage bool `json:"Overage,omitempty"` + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html#cfn-licensemanager-license-entitlement-unit + Unit string `json:"Unit,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html#cfn-licensemanager-license-entitlement-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 *License_Entitlement) AWSCloudFormationType() string { + return "AWS::LicenseManager::License.Entitlement" +} diff --git a/cloudformation/licensemanager/aws-licensemanager-license_issuerdata.go b/cloudformation/licensemanager/aws-licensemanager-license_issuerdata.go new file mode 100644 index 0000000000..9a028935c3 --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license_issuerdata.go @@ -0,0 +1,40 @@ +package licensemanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License_IssuerData AWS CloudFormation Resource (AWS::LicenseManager::License.IssuerData) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-issuerdata.html +type License_IssuerData struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-issuerdata.html#cfn-licensemanager-license-issuerdata-name + Name string `json:"Name,omitempty"` + + // SignKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-issuerdata.html#cfn-licensemanager-license-issuerdata-signkey + SignKey string `json:"SignKey,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *License_IssuerData) AWSCloudFormationType() string { + return "AWS::LicenseManager::License.IssuerData" +} diff --git a/cloudformation/licensemanager/aws-licensemanager-license_metadata.go b/cloudformation/licensemanager/aws-licensemanager-license_metadata.go new file mode 100644 index 0000000000..d162487fde --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license_metadata.go @@ -0,0 +1,40 @@ +package licensemanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License_Metadata AWS CloudFormation Resource (AWS::LicenseManager::License.Metadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-metadata.html +type License_Metadata struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-metadata.html#cfn-licensemanager-license-metadata-name + Name string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-metadata.html#cfn-licensemanager-license-metadata-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 *License_Metadata) AWSCloudFormationType() string { + return "AWS::LicenseManager::License.Metadata" +} diff --git a/cloudformation/licensemanager/aws-licensemanager-license_provisionalconfiguration.go b/cloudformation/licensemanager/aws-licensemanager-license_provisionalconfiguration.go new file mode 100644 index 0000000000..c06f29b049 --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license_provisionalconfiguration.go @@ -0,0 +1,35 @@ +package licensemanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License_ProvisionalConfiguration AWS CloudFormation Resource (AWS::LicenseManager::License.ProvisionalConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-provisionalconfiguration.html +type License_ProvisionalConfiguration struct { + + // MaxTimeToLiveInMinutes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-provisionalconfiguration.html#cfn-licensemanager-license-provisionalconfiguration-maxtimetoliveinminutes + MaxTimeToLiveInMinutes int `json:"MaxTimeToLiveInMinutes"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *License_ProvisionalConfiguration) AWSCloudFormationType() string { + return "AWS::LicenseManager::License.ProvisionalConfiguration" +} diff --git a/cloudformation/licensemanager/aws-licensemanager-license_validitydateformat.go b/cloudformation/licensemanager/aws-licensemanager-license_validitydateformat.go new file mode 100644 index 0000000000..c13a3460b0 --- /dev/null +++ b/cloudformation/licensemanager/aws-licensemanager-license_validitydateformat.go @@ -0,0 +1,40 @@ +package licensemanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// License_ValidityDateFormat AWS CloudFormation Resource (AWS::LicenseManager::License.ValidityDateFormat) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-validitydateformat.html +type License_ValidityDateFormat struct { + + // Begin AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-validitydateformat.html#cfn-licensemanager-license-validitydateformat-begin + Begin string `json:"Begin,omitempty"` + + // End AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-validitydateformat.html#cfn-licensemanager-license-validitydateformat-end + End string `json:"End,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *License_ValidityDateFormat) AWSCloudFormationType() string { + return "AWS::LicenseManager::License.ValidityDateFormat" +} diff --git a/cloudformation/lookoutvision/aws-lookoutvision-project.go b/cloudformation/lookoutvision/aws-lookoutvision-project.go new file mode 100644 index 0000000000..e48278ea36 --- /dev/null +++ b/cloudformation/lookoutvision/aws-lookoutvision-project.go @@ -0,0 +1,106 @@ +package lookoutvision + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Project AWS CloudFormation Resource (AWS::LookoutVision::Project) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html +type Project struct { + + // ProjectName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html#cfn-lookoutvision-project-projectname + ProjectName string `json:"ProjectName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Project) AWSCloudFormationType() string { + return "AWS::LookoutVision::Project" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Project) UnmarshalJSON(b []byte) error { + type Properties Project + 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 = Project(*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-node.go b/cloudformation/managedblockchain/aws-managedblockchain-node.go index 303f9fa4f7..3b3f5a0ee7 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-node.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-node.go @@ -13,7 +13,7 @@ import ( type Node struct { // MemberId AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-memberid MemberId string `json:"MemberId,omitempty"` diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flow.go b/cloudformation/mediaconnect/aws-mediaconnect-flow.go new file mode 100644 index 0000000000..fae800646c --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flow.go @@ -0,0 +1,121 @@ +package mediaconnect + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow AWS CloudFormation Resource (AWS::MediaConnect::Flow) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html +type Flow struct { + + // AvailabilityZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html#cfn-mediaconnect-flow-availabilityzone + AvailabilityZone string `json:"AvailabilityZone,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html#cfn-mediaconnect-flow-name + Name string `json:"Name,omitempty"` + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html#cfn-mediaconnect-flow-source + Source *Flow_Source `json:"Source,omitempty"` + + // SourceFailoverConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html#cfn-mediaconnect-flow-sourcefailoverconfig + SourceFailoverConfig *Flow_FailoverConfig `json:"SourceFailoverConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Flow) AWSCloudFormationType() string { + return "AWS::MediaConnect::Flow" +} + +// 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 Flow) MarshalJSON() ([]byte, error) { + type Properties Flow + return json.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 *Flow) UnmarshalJSON(b []byte) error { + type Properties Flow + 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 = Flow(*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/mediaconnect/aws-mediaconnect-flow_encryption.go b/cloudformation/mediaconnect/aws-mediaconnect-flow_encryption.go new file mode 100644 index 0000000000..67003a65a8 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flow_encryption.go @@ -0,0 +1,75 @@ +package mediaconnect + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow_Encryption AWS CloudFormation Resource (AWS::MediaConnect::Flow.Encryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html +type Flow_Encryption struct { + + // Algorithm AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-algorithm + Algorithm string `json:"Algorithm,omitempty"` + + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + + // DeviceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-deviceid + DeviceId string `json:"DeviceId,omitempty"` + + // KeyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-keytype + KeyType string `json:"KeyType,omitempty"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-region + Region string `json:"Region,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SecretArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-secretarn + SecretArn string `json:"SecretArn,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html#cfn-mediaconnect-flow-encryption-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 *Flow_Encryption) AWSCloudFormationType() string { + return "AWS::MediaConnect::Flow.Encryption" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flow_failoverconfig.go b/cloudformation/mediaconnect/aws-mediaconnect-flow_failoverconfig.go new file mode 100644 index 0000000000..e1547fe86c --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flow_failoverconfig.go @@ -0,0 +1,40 @@ +package mediaconnect + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow_FailoverConfig AWS CloudFormation Resource (AWS::MediaConnect::Flow.FailoverConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-failoverconfig.html +type Flow_FailoverConfig struct { + + // RecoveryWindow AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-failoverconfig.html#cfn-mediaconnect-flow-failoverconfig-recoverywindow + RecoveryWindow int `json:"RecoveryWindow,omitempty"` + + // State AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-failoverconfig.html#cfn-mediaconnect-flow-failoverconfig-state + State string `json:"State,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Flow_FailoverConfig) AWSCloudFormationType() string { + return "AWS::MediaConnect::Flow.FailoverConfig" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flow_source.go b/cloudformation/mediaconnect/aws-mediaconnect-flow_source.go new file mode 100644 index 0000000000..dcefc92340 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flow_source.go @@ -0,0 +1,95 @@ +package mediaconnect + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Flow_Source AWS CloudFormation Resource (AWS::MediaConnect::Flow.Source) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html +type Flow_Source struct { + + // Decryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-decryption + Decryption *Flow_Encryption `json:"Decryption,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-description + Description string `json:"Description,omitempty"` + + // EntitlementArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-entitlementarn + EntitlementArn string `json:"EntitlementArn,omitempty"` + + // IngestIp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-ingestip + IngestIp string `json:"IngestIp,omitempty"` + + // IngestPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-ingestport + IngestPort int `json:"IngestPort,omitempty"` + + // MaxBitrate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-maxbitrate + MaxBitrate int `json:"MaxBitrate,omitempty"` + + // MaxLatency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-maxlatency + MaxLatency int `json:"MaxLatency,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-name + Name string `json:"Name,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-protocol + Protocol string `json:"Protocol,omitempty"` + + // SourceArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-sourcearn + SourceArn string `json:"SourceArn,omitempty"` + + // StreamId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-streamid + StreamId string `json:"StreamId,omitempty"` + + // VpcInterfaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-vpcinterfacename + VpcInterfaceName string `json:"VpcInterfaceName,omitempty"` + + // WhitelistCidr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-whitelistcidr + WhitelistCidr string `json:"WhitelistCidr,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Flow_Source) AWSCloudFormationType() string { + return "AWS::MediaConnect::Flow.Source" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowentitlement.go b/cloudformation/mediaconnect/aws-mediaconnect-flowentitlement.go new file mode 100644 index 0000000000..e14d7db01e --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowentitlement.go @@ -0,0 +1,136 @@ +package mediaconnect + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowEntitlement AWS CloudFormation Resource (AWS::MediaConnect::FlowEntitlement) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html +type FlowEntitlement struct { + + // DataTransferSubscriberFeePercent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html#cfn-mediaconnect-flowentitlement-datatransfersubscriberfeepercent + DataTransferSubscriberFeePercent int `json:"DataTransferSubscriberFeePercent,omitempty"` + + // Description AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html#cfn-mediaconnect-flowentitlement-description + Description string `json:"Description,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html#cfn-mediaconnect-flowentitlement-encryption + Encryption *FlowEntitlement_Encryption `json:"Encryption,omitempty"` + + // EntitlementStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html#cfn-mediaconnect-flowentitlement-entitlementstatus + EntitlementStatus string `json:"EntitlementStatus,omitempty"` + + // FlowArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html#cfn-mediaconnect-flowentitlement-flowarn + FlowArn string `json:"FlowArn,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html#cfn-mediaconnect-flowentitlement-name + Name string `json:"Name,omitempty"` + + // Subscribers AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html#cfn-mediaconnect-flowentitlement-subscribers + Subscribers []string `json:"Subscribers,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FlowEntitlement) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowEntitlement" +} + +// 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 FlowEntitlement) MarshalJSON() ([]byte, error) { + type Properties FlowEntitlement + return json.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 *FlowEntitlement) UnmarshalJSON(b []byte) error { + type Properties FlowEntitlement + 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 = FlowEntitlement(*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/mediaconnect/aws-mediaconnect-flowentitlement_encryption.go b/cloudformation/mediaconnect/aws-mediaconnect-flowentitlement_encryption.go new file mode 100644 index 0000000000..c49063f0c0 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowentitlement_encryption.go @@ -0,0 +1,75 @@ +package mediaconnect + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowEntitlement_Encryption AWS CloudFormation Resource (AWS::MediaConnect::FlowEntitlement.Encryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html +type FlowEntitlement_Encryption struct { + + // Algorithm AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-algorithm + Algorithm string `json:"Algorithm,omitempty"` + + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + + // DeviceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-deviceid + DeviceId string `json:"DeviceId,omitempty"` + + // KeyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-keytype + KeyType string `json:"KeyType,omitempty"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-region + Region string `json:"Region,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SecretArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-secretarn + SecretArn string `json:"SecretArn,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html#cfn-mediaconnect-flowentitlement-encryption-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 *FlowEntitlement_Encryption) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowEntitlement.Encryption" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowoutput.go b/cloudformation/mediaconnect/aws-mediaconnect-flowoutput.go new file mode 100644 index 0000000000..e1e08eeef0 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowoutput.go @@ -0,0 +1,166 @@ +package mediaconnect + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowOutput AWS CloudFormation Resource (AWS::MediaConnect::FlowOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html +type FlowOutput struct { + + // CidrAllowList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-cidrallowlist + CidrAllowList []string `json:"CidrAllowList,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-description + Description string `json:"Description,omitempty"` + + // Destination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-destination + Destination string `json:"Destination,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-encryption + Encryption *FlowOutput_Encryption `json:"Encryption,omitempty"` + + // FlowArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-flowarn + FlowArn string `json:"FlowArn,omitempty"` + + // MaxLatency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-maxlatency + MaxLatency int `json:"MaxLatency,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-name + Name string `json:"Name,omitempty"` + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-port + Port int `json:"Port,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-protocol + Protocol string `json:"Protocol,omitempty"` + + // RemoteId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-remoteid + RemoteId string `json:"RemoteId,omitempty"` + + // SmoothingLatency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-smoothinglatency + SmoothingLatency int `json:"SmoothingLatency,omitempty"` + + // StreamId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-streamid + StreamId string `json:"StreamId,omitempty"` + + // VpcInterfaceAttachment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-vpcinterfaceattachment + VpcInterfaceAttachment *FlowOutput_VpcInterfaceAttachment `json:"VpcInterfaceAttachment,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FlowOutput) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowOutput" +} + +// 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 FlowOutput) MarshalJSON() ([]byte, error) { + type Properties FlowOutput + return json.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 *FlowOutput) UnmarshalJSON(b []byte) error { + type Properties FlowOutput + 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 = FlowOutput(*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/mediaconnect/aws-mediaconnect-flowoutput_encryption.go b/cloudformation/mediaconnect/aws-mediaconnect-flowoutput_encryption.go new file mode 100644 index 0000000000..6eedef0000 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowoutput_encryption.go @@ -0,0 +1,50 @@ +package mediaconnect + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowOutput_Encryption AWS CloudFormation Resource (AWS::MediaConnect::FlowOutput.Encryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encryption.html +type FlowOutput_Encryption struct { + + // Algorithm AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encryption.html#cfn-mediaconnect-flowoutput-encryption-algorithm + Algorithm string `json:"Algorithm,omitempty"` + + // KeyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encryption.html#cfn-mediaconnect-flowoutput-encryption-keytype + KeyType string `json:"KeyType,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encryption.html#cfn-mediaconnect-flowoutput-encryption-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SecretArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encryption.html#cfn-mediaconnect-flowoutput-encryption-secretarn + SecretArn string `json:"SecretArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FlowOutput_Encryption) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowOutput.Encryption" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowoutput_vpcinterfaceattachment.go b/cloudformation/mediaconnect/aws-mediaconnect-flowoutput_vpcinterfaceattachment.go new file mode 100644 index 0000000000..ededecba50 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowoutput_vpcinterfaceattachment.go @@ -0,0 +1,35 @@ +package mediaconnect + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowOutput_VpcInterfaceAttachment AWS CloudFormation Resource (AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-vpcinterfaceattachment.html +type FlowOutput_VpcInterfaceAttachment struct { + + // VpcInterfaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-vpcinterfaceattachment.html#cfn-mediaconnect-flowoutput-vpcinterfaceattachment-vpcinterfacename + VpcInterfaceName string `json:"VpcInterfaceName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FlowOutput_VpcInterfaceAttachment) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowsource.go b/cloudformation/mediaconnect/aws-mediaconnect-flowsource.go new file mode 100644 index 0000000000..5266709686 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowsource.go @@ -0,0 +1,161 @@ +package mediaconnect + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowSource AWS CloudFormation Resource (AWS::MediaConnect::FlowSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html +type FlowSource struct { + + // Decryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-decryption + Decryption *FlowSource_Encryption `json:"Decryption,omitempty"` + + // Description AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-description + Description string `json:"Description,omitempty"` + + // EntitlementArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-entitlementarn + EntitlementArn string `json:"EntitlementArn,omitempty"` + + // FlowArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-flowarn + FlowArn string `json:"FlowArn,omitempty"` + + // IngestPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-ingestport + IngestPort int `json:"IngestPort,omitempty"` + + // MaxBitrate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-maxbitrate + MaxBitrate int `json:"MaxBitrate,omitempty"` + + // MaxLatency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-maxlatency + MaxLatency int `json:"MaxLatency,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-name + Name string `json:"Name,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-protocol + Protocol string `json:"Protocol,omitempty"` + + // StreamId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-streamid + StreamId string `json:"StreamId,omitempty"` + + // VpcInterfaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-vpcinterfacename + VpcInterfaceName string `json:"VpcInterfaceName,omitempty"` + + // WhitelistCidr AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-whitelistcidr + WhitelistCidr string `json:"WhitelistCidr,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FlowSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowSource" +} + +// 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 FlowSource) MarshalJSON() ([]byte, error) { + type Properties FlowSource + return json.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 *FlowSource) UnmarshalJSON(b []byte) error { + type Properties FlowSource + 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 = FlowSource(*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/mediaconnect/aws-mediaconnect-flowsource_encryption.go b/cloudformation/mediaconnect/aws-mediaconnect-flowsource_encryption.go new file mode 100644 index 0000000000..35ba605f15 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowsource_encryption.go @@ -0,0 +1,75 @@ +package mediaconnect + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowSource_Encryption AWS CloudFormation Resource (AWS::MediaConnect::FlowSource.Encryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html +type FlowSource_Encryption struct { + + // Algorithm AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-algorithm + Algorithm string `json:"Algorithm,omitempty"` + + // ConstantInitializationVector AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-constantinitializationvector + ConstantInitializationVector string `json:"ConstantInitializationVector,omitempty"` + + // DeviceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-deviceid + DeviceId string `json:"DeviceId,omitempty"` + + // KeyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-keytype + KeyType string `json:"KeyType,omitempty"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-region + Region string `json:"Region,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SecretArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-secretarn + SecretArn string `json:"SecretArn,omitempty"` + + // Url AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html#cfn-mediaconnect-flowsource-encryption-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 *FlowSource_Encryption) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowSource.Encryption" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowvpcinterface.go b/cloudformation/mediaconnect/aws-mediaconnect-flowvpcinterface.go new file mode 100644 index 0000000000..383bcc6f3e --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowvpcinterface.go @@ -0,0 +1,126 @@ +package mediaconnect + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FlowVpcInterface AWS CloudFormation Resource (AWS::MediaConnect::FlowVpcInterface) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html +type FlowVpcInterface struct { + + // FlowArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-flowarn + FlowArn string `json:"FlowArn,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-name + Name string `json:"Name,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // SubnetId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-subnetid + SubnetId string `json:"SubnetId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FlowVpcInterface) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowVpcInterface" +} + +// 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 FlowVpcInterface) MarshalJSON() ([]byte, error) { + type Properties FlowVpcInterface + return json.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 *FlowVpcInterface) UnmarshalJSON(b []byte) error { + type Properties FlowVpcInterface + 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 = FlowVpcInterface(*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/medialive/aws-medialive-channel.go b/cloudformation/medialive/aws-medialive-channel.go index 51dd93404a..b603707841 100644 --- a/cloudformation/medialive/aws-medialive-channel.go +++ b/cloudformation/medialive/aws-medialive-channel.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html type Channel struct { + // CdiInputSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-cdiinputspecification + CdiInputSpecification *Channel_CdiInputSpecification `json:"CdiInputSpecification,omitempty"` + // ChannelClass AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-channelclass @@ -57,6 +62,11 @@ type Channel struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-tags Tags interface{} `json:"Tags,omitempty"` + // Vpc AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-vpc + Vpc *Channel_VpcOutputSettings `json:"Vpc,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_ancillarysourcesettings.go b/cloudformation/medialive/aws-medialive-channel_ancillarysourcesettings.go new file mode 100644 index 0000000000..7bbb099650 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_ancillarysourcesettings.go @@ -0,0 +1,35 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_AncillarySourceSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.AncillarySourceSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ancillarysourcesettings.html +type Channel_AncillarySourceSettings struct { + + // SourceAncillaryChannelNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ancillarysourcesettings.html#cfn-medialive-channel-ancillarysourcesettings-sourceancillarychannelnumber + SourceAncillaryChannelNumber int `json:"SourceAncillaryChannelNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_AncillarySourceSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.AncillarySourceSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_archivecontainersettings.go b/cloudformation/medialive/aws-medialive-channel_archivecontainersettings.go index 6c4de9680a..9dbe1aa25e 100644 --- a/cloudformation/medialive/aws-medialive-channel_archivecontainersettings.go +++ b/cloudformation/medialive/aws-medialive-channel_archivecontainersettings.go @@ -13,6 +13,11 @@ type Channel_ArchiveContainerSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archivecontainersettings.html#cfn-medialive-channel-archivecontainersettings-m2tssettings M2tsSettings *Channel_M2tsSettings `json:"M2tsSettings,omitempty"` + // RawSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archivecontainersettings.html#cfn-medialive-channel-archivecontainersettings-rawsettings + RawSettings *Channel_RawSettings `json:"RawSettings,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_audiocodecsettings.go b/cloudformation/medialive/aws-medialive-channel_audiocodecsettings.go index 487a3b26d0..4d436d9240 100644 --- a/cloudformation/medialive/aws-medialive-channel_audiocodecsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_audiocodecsettings.go @@ -33,6 +33,11 @@ type Channel_AudioCodecSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html#cfn-medialive-channel-audiocodecsettings-passthroughsettings PassThroughSettings *Channel_PassThroughSettings `json:"PassThroughSettings,omitempty"` + // WavSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html#cfn-medialive-channel-audiocodecsettings-wavsettings + WavSettings *Channel_WavSettings `json:"WavSettings,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_audiosilencefailoversettings.go b/cloudformation/medialive/aws-medialive-channel_audiosilencefailoversettings.go new file mode 100644 index 0000000000..45e0f90855 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_audiosilencefailoversettings.go @@ -0,0 +1,40 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_AudioSilenceFailoverSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.AudioSilenceFailoverSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiosilencefailoversettings.html +type Channel_AudioSilenceFailoverSettings struct { + + // AudioSelectorName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiosilencefailoversettings.html#cfn-medialive-channel-audiosilencefailoversettings-audioselectorname + AudioSelectorName string `json:"AudioSelectorName,omitempty"` + + // AudioSilenceThresholdMsec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiosilencefailoversettings.html#cfn-medialive-channel-audiosilencefailoversettings-audiosilencethresholdmsec + AudioSilenceThresholdMsec int `json:"AudioSilenceThresholdMsec,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_AudioSilenceFailoverSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.AudioSilenceFailoverSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_automaticinputfailoversettings.go b/cloudformation/medialive/aws-medialive-channel_automaticinputfailoversettings.go index 1613afe6df..03e3428b12 100644 --- a/cloudformation/medialive/aws-medialive-channel_automaticinputfailoversettings.go +++ b/cloudformation/medialive/aws-medialive-channel_automaticinputfailoversettings.go @@ -8,6 +8,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-automaticinputfailoversettings.html type Channel_AutomaticInputFailoverSettings struct { + // ErrorClearTimeMsec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-automaticinputfailoversettings.html#cfn-medialive-channel-automaticinputfailoversettings-errorcleartimemsec + ErrorClearTimeMsec int `json:"ErrorClearTimeMsec,omitempty"` + + // FailoverConditions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-automaticinputfailoversettings.html#cfn-medialive-channel-automaticinputfailoversettings-failoverconditions + FailoverConditions []Channel_FailoverCondition `json:"FailoverConditions,omitempty"` + // InputPreference AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-automaticinputfailoversettings.html#cfn-medialive-channel-automaticinputfailoversettings-inputpreference diff --git a/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go b/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go index a763eddebd..6af15116a4 100644 --- a/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_captionselectorsettings.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html type Channel_CaptionSelectorSettings struct { + // AncillarySourceSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-ancillarysourcesettings + AncillarySourceSettings *Channel_AncillarySourceSettings `json:"AncillarySourceSettings,omitempty"` + // AribSourceSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-aribsourcesettings diff --git a/cloudformation/medialive/aws-medialive-channel_cdiinputspecification.go b/cloudformation/medialive/aws-medialive-channel_cdiinputspecification.go new file mode 100644 index 0000000000..09dd76567c --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_cdiinputspecification.go @@ -0,0 +1,35 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_CdiInputSpecification AWS CloudFormation Resource (AWS::MediaLive::Channel.CdiInputSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-cdiinputspecification.html +type Channel_CdiInputSpecification struct { + + // Resolution AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-cdiinputspecification.html#cfn-medialive-channel-cdiinputspecification-resolution + Resolution string `json:"Resolution,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_CdiInputSpecification) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.CdiInputSpecification" +} diff --git a/cloudformation/medialive/aws-medialive-channel_failovercondition.go b/cloudformation/medialive/aws-medialive-channel_failovercondition.go new file mode 100644 index 0000000000..e6ae387480 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_failovercondition.go @@ -0,0 +1,35 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_FailoverCondition AWS CloudFormation Resource (AWS::MediaLive::Channel.FailoverCondition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-failovercondition.html +type Channel_FailoverCondition struct { + + // FailoverConditionSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-failovercondition.html#cfn-medialive-channel-failovercondition-failoverconditionsettings + FailoverConditionSettings *Channel_FailoverConditionSettings `json:"FailoverConditionSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_FailoverCondition) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.FailoverCondition" +} diff --git a/cloudformation/medialive/aws-medialive-channel_failoverconditionsettings.go b/cloudformation/medialive/aws-medialive-channel_failoverconditionsettings.go new file mode 100644 index 0000000000..4b86e6f15d --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_failoverconditionsettings.go @@ -0,0 +1,45 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_FailoverConditionSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.FailoverConditionSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-failoverconditionsettings.html +type Channel_FailoverConditionSettings struct { + + // AudioSilenceSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-failoverconditionsettings.html#cfn-medialive-channel-failoverconditionsettings-audiosilencesettings + AudioSilenceSettings *Channel_AudioSilenceFailoverSettings `json:"AudioSilenceSettings,omitempty"` + + // InputLossSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-failoverconditionsettings.html#cfn-medialive-channel-failoverconditionsettings-inputlosssettings + InputLossSettings *Channel_InputLossFailoverSettings `json:"InputLossSettings,omitempty"` + + // VideoBlackSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-failoverconditionsettings.html#cfn-medialive-channel-failoverconditionsettings-videoblacksettings + VideoBlackSettings *Channel_VideoBlackFailoverSettings `json:"VideoBlackSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_FailoverConditionSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.FailoverConditionSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_hlsgroupsettings.go b/cloudformation/medialive/aws-medialive-channel_hlsgroupsettings.go index 9ede9242ae..fa45236949 100644 --- a/cloudformation/medialive/aws-medialive-channel_hlsgroupsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_hlsgroupsettings.go @@ -68,6 +68,11 @@ type Channel_HlsGroupSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-directorystructure DirectoryStructure string `json:"DirectoryStructure,omitempty"` + // DiscontinuityTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-discontinuitytags + DiscontinuityTags string `json:"DiscontinuityTags,omitempty"` + // EncryptionType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-encryptiontype @@ -88,6 +93,11 @@ type Channel_HlsGroupSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-iframeonlyplaylists IFrameOnlyPlaylists string `json:"IFrameOnlyPlaylists,omitempty"` + // IncompleteSegmentBehavior AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-incompletesegmentbehavior + IncompleteSegmentBehavior string `json:"IncompleteSegmentBehavior,omitempty"` + // IndexNSegments AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-indexnsegments diff --git a/cloudformation/medialive/aws-medialive-channel_inputlossfailoversettings.go b/cloudformation/medialive/aws-medialive-channel_inputlossfailoversettings.go new file mode 100644 index 0000000000..10c5606756 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_inputlossfailoversettings.go @@ -0,0 +1,35 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_InputLossFailoverSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.InputLossFailoverSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossfailoversettings.html +type Channel_InputLossFailoverSettings struct { + + // InputLossThresholdMsec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossfailoversettings.html#cfn-medialive-channel-inputlossfailoversettings-inputlossthresholdmsec + InputLossThresholdMsec int `json:"InputLossThresholdMsec,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_InputLossFailoverSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.InputLossFailoverSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_mpeg2filtersettings.go b/cloudformation/medialive/aws-medialive-channel_mpeg2filtersettings.go new file mode 100644 index 0000000000..9a0a1788a3 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_mpeg2filtersettings.go @@ -0,0 +1,35 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_Mpeg2FilterSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.Mpeg2FilterSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2filtersettings.html +type Channel_Mpeg2FilterSettings struct { + + // TemporalFilterSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2filtersettings.html#cfn-medialive-channel-mpeg2filtersettings-temporalfiltersettings + TemporalFilterSettings *Channel_TemporalFilterSettings `json:"TemporalFilterSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_Mpeg2FilterSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.Mpeg2FilterSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_mpeg2settings.go b/cloudformation/medialive/aws-medialive-channel_mpeg2settings.go new file mode 100644 index 0000000000..bc621dbc07 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_mpeg2settings.go @@ -0,0 +1,110 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_Mpeg2Settings AWS CloudFormation Resource (AWS::MediaLive::Channel.Mpeg2Settings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html +type Channel_Mpeg2Settings struct { + + // AdaptiveQuantization AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-adaptivequantization + AdaptiveQuantization string `json:"AdaptiveQuantization,omitempty"` + + // AfdSignaling AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-afdsignaling + AfdSignaling string `json:"AfdSignaling,omitempty"` + + // ColorMetadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-colormetadata + ColorMetadata string `json:"ColorMetadata,omitempty"` + + // ColorSpace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-colorspace + ColorSpace string `json:"ColorSpace,omitempty"` + + // DisplayAspectRatio AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-displayaspectratio + DisplayAspectRatio string `json:"DisplayAspectRatio,omitempty"` + + // FilterSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-filtersettings + FilterSettings *Channel_Mpeg2FilterSettings `json:"FilterSettings,omitempty"` + + // FixedAfd AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-fixedafd + FixedAfd string `json:"FixedAfd,omitempty"` + + // FramerateDenominator AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-frameratedenominator + FramerateDenominator int `json:"FramerateDenominator,omitempty"` + + // FramerateNumerator AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-frameratenumerator + FramerateNumerator int `json:"FramerateNumerator,omitempty"` + + // GopClosedCadence AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-gopclosedcadence + GopClosedCadence int `json:"GopClosedCadence,omitempty"` + + // GopNumBFrames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-gopnumbframes + GopNumBFrames int `json:"GopNumBFrames,omitempty"` + + // GopSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-gopsize + GopSize float64 `json:"GopSize,omitempty"` + + // GopSizeUnits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-gopsizeunits + GopSizeUnits string `json:"GopSizeUnits,omitempty"` + + // ScanType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-scantype + ScanType string `json:"ScanType,omitempty"` + + // SubgopLength AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-subgoplength + SubgopLength string `json:"SubgopLength,omitempty"` + + // TimecodeInsertion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mpeg2settings.html#cfn-medialive-channel-mpeg2settings-timecodeinsertion + TimecodeInsertion string `json:"TimecodeInsertion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_Mpeg2Settings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.Mpeg2Settings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_rawsettings.go b/cloudformation/medialive/aws-medialive-channel_rawsettings.go new file mode 100644 index 0000000000..ad555bea83 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_rawsettings.go @@ -0,0 +1,30 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_RawSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.RawSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rawsettings.html +type Channel_RawSettings struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_RawSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.RawSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_rtmpgroupsettings.go b/cloudformation/medialive/aws-medialive-channel_rtmpgroupsettings.go index 1a16595c5b..bf4eb62109 100644 --- a/cloudformation/medialive/aws-medialive-channel_rtmpgroupsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_rtmpgroupsettings.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html type Channel_RtmpGroupSettings struct { + // AdMarkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-admarkers + AdMarkers []string `json:"AdMarkers,omitempty"` + // AuthenticationScheme AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-authenticationscheme diff --git a/cloudformation/medialive/aws-medialive-channel_videoblackfailoversettings.go b/cloudformation/medialive/aws-medialive-channel_videoblackfailoversettings.go new file mode 100644 index 0000000000..490ab794bd --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_videoblackfailoversettings.go @@ -0,0 +1,40 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_VideoBlackFailoverSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.VideoBlackFailoverSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoblackfailoversettings.html +type Channel_VideoBlackFailoverSettings struct { + + // BlackDetectThreshold AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoblackfailoversettings.html#cfn-medialive-channel-videoblackfailoversettings-blackdetectthreshold + BlackDetectThreshold float64 `json:"BlackDetectThreshold,omitempty"` + + // VideoBlackThresholdMsec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoblackfailoversettings.html#cfn-medialive-channel-videoblackfailoversettings-videoblackthresholdmsec + VideoBlackThresholdMsec int `json:"VideoBlackThresholdMsec,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_VideoBlackFailoverSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.VideoBlackFailoverSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_videocodecsettings.go b/cloudformation/medialive/aws-medialive-channel_videocodecsettings.go index 82209c2712..3ca670ca49 100644 --- a/cloudformation/medialive/aws-medialive-channel_videocodecsettings.go +++ b/cloudformation/medialive/aws-medialive-channel_videocodecsettings.go @@ -23,6 +23,11 @@ type Channel_VideoCodecSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videocodecsettings.html#cfn-medialive-channel-videocodecsettings-h265settings H265Settings *Channel_H265Settings `json:"H265Settings,omitempty"` + // Mpeg2Settings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videocodecsettings.html#cfn-medialive-channel-videocodecsettings-mpeg2settings + Mpeg2Settings *Channel_Mpeg2Settings `json:"Mpeg2Settings,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/medialive/aws-medialive-channel_vpcoutputsettings.go b/cloudformation/medialive/aws-medialive-channel_vpcoutputsettings.go new file mode 100644 index 0000000000..44bcc91d69 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_vpcoutputsettings.go @@ -0,0 +1,45 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_VpcOutputSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.VpcOutputSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-vpcoutputsettings.html +type Channel_VpcOutputSettings struct { + + // PublicAddressAllocationIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-vpcoutputsettings.html#cfn-medialive-channel-vpcoutputsettings-publicaddressallocationids + PublicAddressAllocationIds []string `json:"PublicAddressAllocationIds,omitempty"` + + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-vpcoutputsettings.html#cfn-medialive-channel-vpcoutputsettings-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-vpcoutputsettings.html#cfn-medialive-channel-vpcoutputsettings-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 *Channel_VpcOutputSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.VpcOutputSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_wavsettings.go b/cloudformation/medialive/aws-medialive-channel_wavsettings.go new file mode 100644 index 0000000000..c84d7ee063 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_wavsettings.go @@ -0,0 +1,45 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_WavSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.WavSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-wavsettings.html +type Channel_WavSettings struct { + + // BitDepth AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-wavsettings.html#cfn-medialive-channel-wavsettings-bitdepth + BitDepth float64 `json:"BitDepth,omitempty"` + + // CodingMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-wavsettings.html#cfn-medialive-channel-wavsettings-codingmode + CodingMode string `json:"CodingMode,omitempty"` + + // SampleRate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-wavsettings.html#cfn-medialive-channel-wavsettings-samplerate + SampleRate float64 `json:"SampleRate,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_WavSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.WavSettings" +} diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go index ba1e6b497d..661c5fb43e 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go @@ -11,7 +11,7 @@ type PackagingConfiguration_CmafEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html#cfn-mediapackage-packagingconfiguration-cmafencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go index 53e4fa3e88..899140450c 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go @@ -11,7 +11,7 @@ type PackagingConfiguration_DashEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html#cfn-mediapackage-packagingconfiguration-dashencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go index a6ee22e2f2..75a6b2dfdf 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go @@ -21,7 +21,7 @@ type PackagingConfiguration_HlsEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go index 277e44aaa9..1442828cfb 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go @@ -11,7 +11,7 @@ type PackagingConfiguration_MssEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html#cfn-mediapackage-packagingconfiguration-mssencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mwaa/aws-mwaa-environment.go b/cloudformation/mwaa/aws-mwaa-environment.go new file mode 100644 index 0000000000..412515707e --- /dev/null +++ b/cloudformation/mwaa/aws-mwaa-environment.go @@ -0,0 +1,191 @@ +package mwaa + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Environment AWS CloudFormation Resource (AWS::MWAA::Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html +type Environment struct { + + // AirflowConfigurationOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-airflowconfigurationoptions + AirflowConfigurationOptions *Environment_AirflowConfigurationOptions `json:"AirflowConfigurationOptions,omitempty"` + + // AirflowVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-airflowversion + AirflowVersion string `json:"AirflowVersion,omitempty"` + + // DagS3Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-dags3path + DagS3Path string `json:"DagS3Path,omitempty"` + + // EnvironmentClass AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-environmentclass + EnvironmentClass string `json:"EnvironmentClass,omitempty"` + + // ExecutionRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-executionrolearn + ExecutionRoleArn string `json:"ExecutionRoleArn,omitempty"` + + // KmsKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-kmskey + KmsKey string `json:"KmsKey,omitempty"` + + // LoggingConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-loggingconfiguration + LoggingConfiguration *Environment_LoggingConfiguration `json:"LoggingConfiguration,omitempty"` + + // MaxWorkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-maxworkers + MaxWorkers int `json:"MaxWorkers,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-name + Name string `json:"Name,omitempty"` + + // NetworkConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-networkconfiguration + NetworkConfiguration *Environment_NetworkConfiguration `json:"NetworkConfiguration,omitempty"` + + // PluginsS3ObjectVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-pluginss3objectversion + PluginsS3ObjectVersion string `json:"PluginsS3ObjectVersion,omitempty"` + + // PluginsS3Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-pluginss3path + PluginsS3Path string `json:"PluginsS3Path,omitempty"` + + // RequirementsS3ObjectVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-requirementss3objectversion + RequirementsS3ObjectVersion string `json:"RequirementsS3ObjectVersion,omitempty"` + + // RequirementsS3Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-requirementss3path + RequirementsS3Path string `json:"RequirementsS3Path,omitempty"` + + // SourceBucketArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-sourcebucketarn + SourceBucketArn string `json:"SourceBucketArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-tags + Tags *Environment_TagMap `json:"Tags,omitempty"` + + // WebserverAccessMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-webserveraccessmode + WebserverAccessMode string `json:"WebserverAccessMode,omitempty"` + + // WeeklyMaintenanceWindowStart AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-weeklymaintenancewindowstart + WeeklyMaintenanceWindowStart string `json:"WeeklyMaintenanceWindowStart,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Environment) AWSCloudFormationType() string { + return "AWS::MWAA::Environment" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Environment) UnmarshalJSON(b []byte) error { + type Properties Environment + 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 = Environment(*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/mwaa/aws-mwaa-environment_airflowconfigurationoptions.go b/cloudformation/mwaa/aws-mwaa-environment_airflowconfigurationoptions.go new file mode 100644 index 0000000000..d151051896 --- /dev/null +++ b/cloudformation/mwaa/aws-mwaa-environment_airflowconfigurationoptions.go @@ -0,0 +1,30 @@ +package mwaa + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Environment_AirflowConfigurationOptions AWS CloudFormation Resource (AWS::MWAA::Environment.AirflowConfigurationOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-airflowconfigurationoptions.html +type Environment_AirflowConfigurationOptions struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Environment_AirflowConfigurationOptions) AWSCloudFormationType() string { + return "AWS::MWAA::Environment.AirflowConfigurationOptions" +} diff --git a/cloudformation/mwaa/aws-mwaa-environment_loggingconfiguration.go b/cloudformation/mwaa/aws-mwaa-environment_loggingconfiguration.go new file mode 100644 index 0000000000..a16e902d2b --- /dev/null +++ b/cloudformation/mwaa/aws-mwaa-environment_loggingconfiguration.go @@ -0,0 +1,55 @@ +package mwaa + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Environment_LoggingConfiguration AWS CloudFormation Resource (AWS::MWAA::Environment.LoggingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-loggingconfiguration.html +type Environment_LoggingConfiguration struct { + + // DagProcessingLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-loggingconfiguration.html#cfn-mwaa-environment-loggingconfiguration-dagprocessinglogs + DagProcessingLogs *Environment_ModuleLoggingConfiguration `json:"DagProcessingLogs,omitempty"` + + // SchedulerLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-loggingconfiguration.html#cfn-mwaa-environment-loggingconfiguration-schedulerlogs + SchedulerLogs *Environment_ModuleLoggingConfiguration `json:"SchedulerLogs,omitempty"` + + // TaskLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-loggingconfiguration.html#cfn-mwaa-environment-loggingconfiguration-tasklogs + TaskLogs *Environment_ModuleLoggingConfiguration `json:"TaskLogs,omitempty"` + + // WebserverLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-loggingconfiguration.html#cfn-mwaa-environment-loggingconfiguration-webserverlogs + WebserverLogs *Environment_ModuleLoggingConfiguration `json:"WebserverLogs,omitempty"` + + // WorkerLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-loggingconfiguration.html#cfn-mwaa-environment-loggingconfiguration-workerlogs + WorkerLogs *Environment_ModuleLoggingConfiguration `json:"WorkerLogs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Environment_LoggingConfiguration) AWSCloudFormationType() string { + return "AWS::MWAA::Environment.LoggingConfiguration" +} diff --git a/cloudformation/mwaa/aws-mwaa-environment_moduleloggingconfiguration.go b/cloudformation/mwaa/aws-mwaa-environment_moduleloggingconfiguration.go new file mode 100644 index 0000000000..d08bdc5907 --- /dev/null +++ b/cloudformation/mwaa/aws-mwaa-environment_moduleloggingconfiguration.go @@ -0,0 +1,45 @@ +package mwaa + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Environment_ModuleLoggingConfiguration AWS CloudFormation Resource (AWS::MWAA::Environment.ModuleLoggingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-moduleloggingconfiguration.html +type Environment_ModuleLoggingConfiguration struct { + + // CloudWatchLogGroupArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-moduleloggingconfiguration.html#cfn-mwaa-environment-moduleloggingconfiguration-cloudwatchloggrouparn + CloudWatchLogGroupArn string `json:"CloudWatchLogGroupArn,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-moduleloggingconfiguration.html#cfn-mwaa-environment-moduleloggingconfiguration-enabled + Enabled bool `json:"Enabled,omitempty"` + + // LogLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-moduleloggingconfiguration.html#cfn-mwaa-environment-moduleloggingconfiguration-loglevel + LogLevel string `json:"LogLevel,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Environment_ModuleLoggingConfiguration) AWSCloudFormationType() string { + return "AWS::MWAA::Environment.ModuleLoggingConfiguration" +} diff --git a/cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go b/cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go new file mode 100644 index 0000000000..99756eaa4b --- /dev/null +++ b/cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go @@ -0,0 +1,40 @@ +package mwaa + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Environment_NetworkConfiguration AWS CloudFormation Resource (AWS::MWAA::Environment.NetworkConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-networkconfiguration.html +type Environment_NetworkConfiguration struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-networkconfiguration.html#cfn-mwaa-environment-networkconfiguration-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-networkconfiguration.html#cfn-mwaa-environment-networkconfiguration-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 *Environment_NetworkConfiguration) AWSCloudFormationType() string { + return "AWS::MWAA::Environment.NetworkConfiguration" +} diff --git a/cloudformation/mwaa/aws-mwaa-environment_tagmap.go b/cloudformation/mwaa/aws-mwaa-environment_tagmap.go new file mode 100644 index 0000000000..7b25857809 --- /dev/null +++ b/cloudformation/mwaa/aws-mwaa-environment_tagmap.go @@ -0,0 +1,30 @@ +package mwaa + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Environment_TagMap AWS CloudFormation Resource (AWS::MWAA::Environment.TagMap) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-tagmap.html +type Environment_TagMap struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Environment_TagMap) AWSCloudFormationType() string { + return "AWS::MWAA::Environment.TagMap" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewall.go b/cloudformation/networkfirewall/aws-networkfirewall-firewall.go new file mode 100644 index 0000000000..7af9081bc9 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewall.go @@ -0,0 +1,147 @@ +package networkfirewall + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Firewall AWS CloudFormation Resource (AWS::NetworkFirewall::Firewall) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html +type Firewall struct { + + // DeleteProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-deleteprotection + DeleteProtection bool `json:"DeleteProtection,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-description + Description string `json:"Description,omitempty"` + + // FirewallName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallname + FirewallName string `json:"FirewallName,omitempty"` + + // FirewallPolicyArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicyarn + FirewallPolicyArn string `json:"FirewallPolicyArn,omitempty"` + + // FirewallPolicyChangeProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicychangeprotection + FirewallPolicyChangeProtection bool `json:"FirewallPolicyChangeProtection,omitempty"` + + // SubnetChangeProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetchangeprotection + SubnetChangeProtection bool `json:"SubnetChangeProtection,omitempty"` + + // SubnetMappings AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings + SubnetMappings []Firewall_SubnetMapping `json:"SubnetMappings,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VpcId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-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 *Firewall) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::Firewall" +} + +// 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 Firewall) MarshalJSON() ([]byte, error) { + type Properties Firewall + return json.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 *Firewall) UnmarshalJSON(b []byte) error { + type Properties Firewall + 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 = Firewall(*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/networkfirewall/aws-networkfirewall-firewall_subnetmapping.go b/cloudformation/networkfirewall/aws-networkfirewall-firewall_subnetmapping.go new file mode 100644 index 0000000000..87cf99a79d --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewall_subnetmapping.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Firewall_SubnetMapping AWS CloudFormation Resource (AWS::NetworkFirewall::Firewall.SubnetMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html +type Firewall_SubnetMapping struct { + + // SubnetId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html#cfn-networkfirewall-firewall-subnetmapping-subnetid + SubnetId string `json:"SubnetId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Firewall_SubnetMapping) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::Firewall.SubnetMapping" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy.go new file mode 100644 index 0000000000..acf98f633d --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy.go @@ -0,0 +1,122 @@ +package networkfirewall + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// FirewallPolicy AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html +type FirewallPolicy struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-description + Description string `json:"Description,omitempty"` + + // FirewallPolicy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-firewallpolicy + FirewallPolicy *FirewallPolicy_FirewallPolicy `json:"FirewallPolicy,omitempty"` + + // FirewallPolicyName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-firewallpolicyname + FirewallPolicyName string `json:"FirewallPolicyName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-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 *FirewallPolicy) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy" +} + +// 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 FirewallPolicy) MarshalJSON() ([]byte, error) { + type Properties FirewallPolicy + return json.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 *FirewallPolicy) UnmarshalJSON(b []byte) error { + type Properties FirewallPolicy + 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 = FirewallPolicy(*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/networkfirewall/aws-networkfirewall-firewallpolicy_actiondefinition.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_actiondefinition.go new file mode 100644 index 0000000000..d1f06a5ee5 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_actiondefinition.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FirewallPolicy_ActionDefinition AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy.ActionDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-actiondefinition.html +type FirewallPolicy_ActionDefinition struct { + + // PublishMetricAction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-actiondefinition.html#cfn-networkfirewall-firewallpolicy-actiondefinition-publishmetricaction + PublishMetricAction *FirewallPolicy_PublishMetricAction `json:"PublishMetricAction,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FirewallPolicy_ActionDefinition) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_customaction.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_customaction.go new file mode 100644 index 0000000000..09eec30195 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_customaction.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FirewallPolicy_CustomAction AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy.CustomAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-customaction.html +type FirewallPolicy_CustomAction struct { + + // ActionDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-customaction.html#cfn-networkfirewall-firewallpolicy-customaction-actiondefinition + ActionDefinition *FirewallPolicy_ActionDefinition `json:"ActionDefinition,omitempty"` + + // ActionName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-customaction.html#cfn-networkfirewall-firewallpolicy-customaction-actionname + ActionName string `json:"ActionName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FirewallPolicy_CustomAction) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy.CustomAction" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_dimension.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_dimension.go new file mode 100644 index 0000000000..62527aa2ec --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_dimension.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FirewallPolicy_Dimension AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy.Dimension) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-dimension.html +type FirewallPolicy_Dimension struct { + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-dimension.html#cfn-networkfirewall-firewallpolicy-dimension-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 *FirewallPolicy_Dimension) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy.Dimension" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_firewallpolicy.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_firewallpolicy.go new file mode 100644 index 0000000000..91224b9957 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_firewallpolicy.go @@ -0,0 +1,55 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FirewallPolicy_FirewallPolicy AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-firewallpolicy.html +type FirewallPolicy_FirewallPolicy struct { + + // StatefulRuleGroupReferences AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-firewallpolicy-statefulrulegroupreferences + StatefulRuleGroupReferences []FirewallPolicy_StatefulRuleGroupReference `json:"StatefulRuleGroupReferences,omitempty"` + + // StatelessCustomActions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-firewallpolicy-statelesscustomactions + StatelessCustomActions []FirewallPolicy_CustomAction `json:"StatelessCustomActions,omitempty"` + + // StatelessDefaultActions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-firewallpolicy-statelessdefaultactions + StatelessDefaultActions []string `json:"StatelessDefaultActions,omitempty"` + + // StatelessFragmentDefaultActions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-firewallpolicy-statelessfragmentdefaultactions + StatelessFragmentDefaultActions []string `json:"StatelessFragmentDefaultActions,omitempty"` + + // StatelessRuleGroupReferences AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-firewallpolicy.html#cfn-networkfirewall-firewallpolicy-firewallpolicy-statelessrulegroupreferences + StatelessRuleGroupReferences []FirewallPolicy_StatelessRuleGroupReference `json:"StatelessRuleGroupReferences,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FirewallPolicy_FirewallPolicy) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_publishmetricaction.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_publishmetricaction.go new file mode 100644 index 0000000000..ef39497d31 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_publishmetricaction.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FirewallPolicy_PublishMetricAction AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-publishmetricaction.html +type FirewallPolicy_PublishMetricAction struct { + + // Dimensions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-publishmetricaction.html#cfn-networkfirewall-firewallpolicy-publishmetricaction-dimensions + Dimensions []FirewallPolicy_Dimension `json:"Dimensions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FirewallPolicy_PublishMetricAction) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statefulrulegroupreference.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statefulrulegroupreference.go new file mode 100644 index 0000000000..9154e33f4c --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statefulrulegroupreference.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FirewallPolicy_StatefulRuleGroupReference AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-statefulrulegroupreference.html +type FirewallPolicy_StatefulRuleGroupReference struct { + + // ResourceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-statefulrulegroupreference.html#cfn-networkfirewall-firewallpolicy-statefulrulegroupreference-resourcearn + ResourceArn string `json:"ResourceArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FirewallPolicy_StatefulRuleGroupReference) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statelessrulegroupreference.go b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statelessrulegroupreference.go new file mode 100644 index 0000000000..6ac3aadc36 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-firewallpolicy_statelessrulegroupreference.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FirewallPolicy_StatelessRuleGroupReference AWS CloudFormation Resource (AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-statelessrulegroupreference.html +type FirewallPolicy_StatelessRuleGroupReference struct { + + // Priority AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-statelessrulegroupreference.html#cfn-networkfirewall-firewallpolicy-statelessrulegroupreference-priority + Priority int `json:"Priority"` + + // ResourceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewallpolicy-statelessrulegroupreference.html#cfn-networkfirewall-firewallpolicy-statelessrulegroupreference-resourcearn + ResourceArn string `json:"ResourceArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FirewallPolicy_StatelessRuleGroupReference) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration.go b/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration.go new file mode 100644 index 0000000000..33818f4b97 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration.go @@ -0,0 +1,116 @@ +package networkfirewall + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LoggingConfiguration AWS CloudFormation Resource (AWS::NetworkFirewall::LoggingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html +type LoggingConfiguration struct { + + // FirewallArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html#cfn-networkfirewall-loggingconfiguration-firewallarn + FirewallArn string `json:"FirewallArn,omitempty"` + + // FirewallName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html#cfn-networkfirewall-loggingconfiguration-firewallname + FirewallName string `json:"FirewallName,omitempty"` + + // LoggingConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html#cfn-networkfirewall-loggingconfiguration-loggingconfiguration + LoggingConfiguration *LoggingConfiguration_LoggingConfiguration `json:"LoggingConfiguration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LoggingConfiguration) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::LoggingConfiguration" +} + +// 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 LoggingConfiguration) MarshalJSON() ([]byte, error) { + type Properties LoggingConfiguration + return json.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 *LoggingConfiguration) UnmarshalJSON(b []byte) error { + type Properties LoggingConfiguration + 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 = LoggingConfiguration(*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/networkfirewall/aws-networkfirewall-loggingconfiguration_logdestinationconfig.go b/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration_logdestinationconfig.go new file mode 100644 index 0000000000..25d5922b4e --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration_logdestinationconfig.go @@ -0,0 +1,45 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LoggingConfiguration_LogDestinationConfig AWS CloudFormation Resource (AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-loggingconfiguration-logdestinationconfig.html +type LoggingConfiguration_LogDestinationConfig struct { + + // LogDestination AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-loggingconfiguration-logdestinationconfig.html#cfn-networkfirewall-loggingconfiguration-logdestinationconfig-logdestination + LogDestination map[string]string `json:"LogDestination,omitempty"` + + // LogDestinationType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-loggingconfiguration-logdestinationconfig.html#cfn-networkfirewall-loggingconfiguration-logdestinationconfig-logdestinationtype + LogDestinationType string `json:"LogDestinationType,omitempty"` + + // LogType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-loggingconfiguration-logdestinationconfig.html#cfn-networkfirewall-loggingconfiguration-logdestinationconfig-logtype + LogType string `json:"LogType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LoggingConfiguration_LogDestinationConfig) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration_loggingconfiguration.go b/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration_loggingconfiguration.go new file mode 100644 index 0000000000..2d0e23cc21 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-loggingconfiguration_loggingconfiguration.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// LoggingConfiguration_LoggingConfiguration AWS CloudFormation Resource (AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-loggingconfiguration-loggingconfiguration.html +type LoggingConfiguration_LoggingConfiguration struct { + + // LogDestinationConfigs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-loggingconfiguration-loggingconfiguration.html#cfn-networkfirewall-loggingconfiguration-loggingconfiguration-logdestinationconfigs + LogDestinationConfigs []LoggingConfiguration_LogDestinationConfig `json:"LogDestinationConfigs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LoggingConfiguration_LoggingConfiguration) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup.go new file mode 100644 index 0000000000..ba9c994a3a --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup.go @@ -0,0 +1,132 @@ +package networkfirewall + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// RuleGroup AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html +type RuleGroup struct { + + // Capacity AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html#cfn-networkfirewall-rulegroup-capacity + Capacity int `json:"Capacity"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html#cfn-networkfirewall-rulegroup-description + Description string `json:"Description,omitempty"` + + // RuleGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html#cfn-networkfirewall-rulegroup-rulegroup + RuleGroup *RuleGroup_RuleGroup `json:"RuleGroup,omitempty"` + + // RuleGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html#cfn-networkfirewall-rulegroup-rulegroupname + RuleGroupName string `json:"RuleGroupName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html#cfn-networkfirewall-rulegroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html#cfn-networkfirewall-rulegroup-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 *RuleGroup) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *RuleGroup) UnmarshalJSON(b []byte) error { + type Properties RuleGroup + 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 = RuleGroup(*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/networkfirewall/aws-networkfirewall-rulegroup_actiondefinition.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_actiondefinition.go new file mode 100644 index 0000000000..9bf89541ba --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_actiondefinition.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_ActionDefinition AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.ActionDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-actiondefinition.html +type RuleGroup_ActionDefinition struct { + + // PublishMetricAction AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-actiondefinition.html#cfn-networkfirewall-rulegroup-actiondefinition-publishmetricaction + PublishMetricAction *RuleGroup_PublishMetricAction `json:"PublishMetricAction,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_ActionDefinition) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.ActionDefinition" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_address.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_address.go new file mode 100644 index 0000000000..81518faaad --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_address.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_Address AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.Address) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-address.html +type RuleGroup_Address struct { + + // AddressDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-address.html#cfn-networkfirewall-rulegroup-address-addressdefinition + AddressDefinition string `json:"AddressDefinition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_Address) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.Address" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_customaction.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_customaction.go new file mode 100644 index 0000000000..3dcd6d1e76 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_customaction.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_CustomAction AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.CustomAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-customaction.html +type RuleGroup_CustomAction struct { + + // ActionDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-customaction.html#cfn-networkfirewall-rulegroup-customaction-actiondefinition + ActionDefinition *RuleGroup_ActionDefinition `json:"ActionDefinition,omitempty"` + + // ActionName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-customaction.html#cfn-networkfirewall-rulegroup-customaction-actionname + ActionName string `json:"ActionName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_CustomAction) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.CustomAction" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_dimension.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_dimension.go new file mode 100644 index 0000000000..9b20bb3697 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_dimension.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_Dimension AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.Dimension) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-dimension.html +type RuleGroup_Dimension struct { + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-dimension.html#cfn-networkfirewall-rulegroup-dimension-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 *RuleGroup_Dimension) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.Dimension" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_header.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_header.go new file mode 100644 index 0000000000..ee40ca89a1 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_header.go @@ -0,0 +1,60 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_Header AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.Header) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html +type RuleGroup_Header struct { + + // Destination AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html#cfn-networkfirewall-rulegroup-header-destination + Destination string `json:"Destination,omitempty"` + + // DestinationPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html#cfn-networkfirewall-rulegroup-header-destinationport + DestinationPort string `json:"DestinationPort,omitempty"` + + // Direction AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html#cfn-networkfirewall-rulegroup-header-direction + Direction string `json:"Direction,omitempty"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html#cfn-networkfirewall-rulegroup-header-protocol + Protocol string `json:"Protocol,omitempty"` + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html#cfn-networkfirewall-rulegroup-header-source + Source string `json:"Source,omitempty"` + + // SourcePort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html#cfn-networkfirewall-rulegroup-header-sourceport + SourcePort string `json:"SourcePort,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_Header) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.Header" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ipset.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ipset.go new file mode 100644 index 0000000000..2cbfcbecd4 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ipset.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_IPSet AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.IPSet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ipset.html +type RuleGroup_IPSet struct { + + // Definition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ipset.html#cfn-networkfirewall-rulegroup-ipset-definition + Definition []string `json:"Definition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_IPSet) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.IPSet" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_matchattributes.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_matchattributes.go new file mode 100644 index 0000000000..b85eef9aae --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_matchattributes.go @@ -0,0 +1,60 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_MatchAttributes AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.MatchAttributes) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html +type RuleGroup_MatchAttributes struct { + + // DestinationPorts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html#cfn-networkfirewall-rulegroup-matchattributes-destinationports + DestinationPorts []RuleGroup_PortRange `json:"DestinationPorts,omitempty"` + + // Destinations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html#cfn-networkfirewall-rulegroup-matchattributes-destinations + Destinations []RuleGroup_Address `json:"Destinations,omitempty"` + + // Protocols AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html#cfn-networkfirewall-rulegroup-matchattributes-protocols + Protocols []int `json:"Protocols,omitempty"` + + // SourcePorts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html#cfn-networkfirewall-rulegroup-matchattributes-sourceports + SourcePorts []RuleGroup_PortRange `json:"SourcePorts,omitempty"` + + // Sources AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html#cfn-networkfirewall-rulegroup-matchattributes-sources + Sources []RuleGroup_Address `json:"Sources,omitempty"` + + // TCPFlags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html#cfn-networkfirewall-rulegroup-matchattributes-tcpflags + TCPFlags []RuleGroup_TCPFlagField `json:"TCPFlags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_MatchAttributes) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.MatchAttributes" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portrange.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portrange.go new file mode 100644 index 0000000000..279ca7d398 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portrange.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_PortRange AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.PortRange) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-portrange.html +type RuleGroup_PortRange struct { + + // FromPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-portrange.html#cfn-networkfirewall-rulegroup-portrange-fromport + FromPort int `json:"FromPort"` + + // ToPort AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-portrange.html#cfn-networkfirewall-rulegroup-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 *RuleGroup_PortRange) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.PortRange" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portset.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portset.go new file mode 100644 index 0000000000..466b5adb06 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_portset.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_PortSet AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.PortSet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-portset.html +type RuleGroup_PortSet struct { + + // Definition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-portset.html#cfn-networkfirewall-rulegroup-portset-definition + Definition []string `json:"Definition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_PortSet) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.PortSet" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_publishmetricaction.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_publishmetricaction.go new file mode 100644 index 0000000000..159952388c --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_publishmetricaction.go @@ -0,0 +1,35 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_PublishMetricAction AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.PublishMetricAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-publishmetricaction.html +type RuleGroup_PublishMetricAction struct { + + // Dimensions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-publishmetricaction.html#cfn-networkfirewall-rulegroup-publishmetricaction-dimensions + Dimensions []RuleGroup_Dimension `json:"Dimensions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_PublishMetricAction) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.PublishMetricAction" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruledefinition.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruledefinition.go new file mode 100644 index 0000000000..159552aeb6 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruledefinition.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_RuleDefinition AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.RuleDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruledefinition.html +type RuleGroup_RuleDefinition struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruledefinition.html#cfn-networkfirewall-rulegroup-ruledefinition-actions + Actions []string `json:"Actions,omitempty"` + + // MatchAttributes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruledefinition.html#cfn-networkfirewall-rulegroup-ruledefinition-matchattributes + MatchAttributes *RuleGroup_MatchAttributes `json:"MatchAttributes,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_RuleDefinition) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.RuleDefinition" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulegroup.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulegroup.go new file mode 100644 index 0000000000..17a32cfc1a --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulegroup.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_RuleGroup AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.RuleGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulegroup.html +type RuleGroup_RuleGroup struct { + + // RuleVariables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulegroup.html#cfn-networkfirewall-rulegroup-rulegroup-rulevariables + RuleVariables *RuleGroup_RuleVariables `json:"RuleVariables,omitempty"` + + // RulesSource AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulegroup.html#cfn-networkfirewall-rulegroup-rulegroup-rulessource + RulesSource *RuleGroup_RulesSource `json:"RulesSource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_RuleGroup) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.RuleGroup" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruleoption.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruleoption.go new file mode 100644 index 0000000000..839894e136 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_ruleoption.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_RuleOption AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.RuleOption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruleoption.html +type RuleGroup_RuleOption struct { + + // Keyword AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruleoption.html#cfn-networkfirewall-rulegroup-ruleoption-keyword + Keyword string `json:"Keyword,omitempty"` + + // Settings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruleoption.html#cfn-networkfirewall-rulegroup-ruleoption-settings + Settings []string `json:"Settings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_RuleOption) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.RuleOption" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessource.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessource.go new file mode 100644 index 0000000000..1ba11261fa --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessource.go @@ -0,0 +1,50 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_RulesSource AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.RulesSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html +type RuleGroup_RulesSource struct { + + // RulesSourceList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-rulessourcelist + RulesSourceList *RuleGroup_RulesSourceList `json:"RulesSourceList,omitempty"` + + // RulesString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-rulesstring + RulesString string `json:"RulesString,omitempty"` + + // StatefulRules AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-statefulrules + StatefulRules []RuleGroup_StatefulRule `json:"StatefulRules,omitempty"` + + // StatelessRulesAndCustomActions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-statelessrulesandcustomactions + StatelessRulesAndCustomActions *RuleGroup_StatelessRulesAndCustomActions `json:"StatelessRulesAndCustomActions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_RulesSource) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.RulesSource" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessourcelist.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessourcelist.go new file mode 100644 index 0000000000..63db7f2f65 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulessourcelist.go @@ -0,0 +1,45 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_RulesSourceList AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.RulesSourceList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessourcelist.html +type RuleGroup_RulesSourceList struct { + + // GeneratedRulesType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessourcelist.html#cfn-networkfirewall-rulegroup-rulessourcelist-generatedrulestype + GeneratedRulesType string `json:"GeneratedRulesType,omitempty"` + + // TargetTypes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessourcelist.html#cfn-networkfirewall-rulegroup-rulessourcelist-targettypes + TargetTypes []string `json:"TargetTypes,omitempty"` + + // Targets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessourcelist.html#cfn-networkfirewall-rulegroup-rulessourcelist-targets + Targets []string `json:"Targets,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_RulesSourceList) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.RulesSourceList" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulevariables.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulevariables.go new file mode 100644 index 0000000000..b0e7bb2837 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_rulevariables.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_RuleVariables AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.RuleVariables) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulevariables.html +type RuleGroup_RuleVariables struct { + + // IPSets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulevariables.html#cfn-networkfirewall-rulegroup-rulevariables-ipsets + IPSets map[string]RuleGroup_IPSet `json:"IPSets,omitempty"` + + // PortSets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulevariables.html#cfn-networkfirewall-rulegroup-rulevariables-portsets + PortSets map[string]RuleGroup_PortSet `json:"PortSets,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_RuleVariables) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.RuleVariables" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statefulrule.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statefulrule.go new file mode 100644 index 0000000000..0e0670ab80 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statefulrule.go @@ -0,0 +1,45 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_StatefulRule AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.StatefulRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statefulrule.html +type RuleGroup_StatefulRule struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statefulrule.html#cfn-networkfirewall-rulegroup-statefulrule-action + Action string `json:"Action,omitempty"` + + // Header AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statefulrule.html#cfn-networkfirewall-rulegroup-statefulrule-header + Header *RuleGroup_Header `json:"Header,omitempty"` + + // RuleOptions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statefulrule.html#cfn-networkfirewall-rulegroup-statefulrule-ruleoptions + RuleOptions []RuleGroup_RuleOption `json:"RuleOptions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_StatefulRule) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.StatefulRule" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrule.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrule.go new file mode 100644 index 0000000000..6ceec3e92d --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrule.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_StatelessRule AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.StatelessRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrule.html +type RuleGroup_StatelessRule struct { + + // Priority AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrule.html#cfn-networkfirewall-rulegroup-statelessrule-priority + Priority int `json:"Priority"` + + // RuleDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrule.html#cfn-networkfirewall-rulegroup-statelessrule-ruledefinition + RuleDefinition *RuleGroup_RuleDefinition `json:"RuleDefinition,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_StatelessRule) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.StatelessRule" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrulesandcustomactions.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrulesandcustomactions.go new file mode 100644 index 0000000000..f0a3ce93a9 --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_statelessrulesandcustomactions.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_StatelessRulesAndCustomActions AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrulesandcustomactions.html +type RuleGroup_StatelessRulesAndCustomActions struct { + + // CustomActions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrulesandcustomactions.html#cfn-networkfirewall-rulegroup-statelessrulesandcustomactions-customactions + CustomActions []RuleGroup_CustomAction `json:"CustomActions,omitempty"` + + // StatelessRules AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrulesandcustomactions.html#cfn-networkfirewall-rulegroup-statelessrulesandcustomactions-statelessrules + StatelessRules []RuleGroup_StatelessRule `json:"StatelessRules,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_StatelessRulesAndCustomActions) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" +} diff --git a/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_tcpflagfield.go b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_tcpflagfield.go new file mode 100644 index 0000000000..c18870110d --- /dev/null +++ b/cloudformation/networkfirewall/aws-networkfirewall-rulegroup_tcpflagfield.go @@ -0,0 +1,40 @@ +package networkfirewall + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RuleGroup_TCPFlagField AWS CloudFormation Resource (AWS::NetworkFirewall::RuleGroup.TCPFlagField) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-tcpflagfield.html +type RuleGroup_TCPFlagField struct { + + // Flags AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-tcpflagfield.html#cfn-networkfirewall-rulegroup-tcpflagfield-flags + Flags []string `json:"Flags,omitempty"` + + // Masks AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-tcpflagfield.html#cfn-networkfirewall-rulegroup-tcpflagfield-masks + Masks []string `json:"Masks,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RuleGroup_TCPFlagField) AWSCloudFormationType() string { + return "AWS::NetworkFirewall::RuleGroup.TCPFlagField" +} diff --git a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go index e92d98be57..8c0ffd120f 100644 --- a/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go +++ b/cloudformation/pinpoint/aws-pinpoint-campaign_campaignsmsmessage.go @@ -13,16 +13,31 @@ type Campaign_CampaignSmsMessage struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-body Body string `json:"Body,omitempty"` + // EntityId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-entityid + EntityId string `json:"EntityId,omitempty"` + // MessageType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-messagetype MessageType string `json:"MessageType,omitempty"` + // OriginationNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-originationnumber + OriginationNumber string `json:"OriginationNumber,omitempty"` + // SenderId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-senderid SenderId string `json:"SenderId,omitempty"` + // TemplateId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-templateid + TemplateId string `json:"TemplateId,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/quicksight/aws-quicksight-analysis.go b/cloudformation/quicksight/aws-quicksight-analysis.go new file mode 100644 index 0000000000..6061c2d37e --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis.go @@ -0,0 +1,147 @@ +package quicksight + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Analysis AWS CloudFormation Resource (AWS::QuickSight::Analysis) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html +type Analysis struct { + + // AnalysisId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-analysisid + AnalysisId string `json:"AnalysisId,omitempty"` + + // AwsAccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-awsaccountid + AwsAccountId string `json:"AwsAccountId,omitempty"` + + // Errors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-errors + Errors []Analysis_AnalysisError `json:"Errors,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-name + Name string `json:"Name,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-parameters + Parameters *Analysis_Parameters `json:"Parameters,omitempty"` + + // Permissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-permissions + Permissions []Analysis_ResourcePermission `json:"Permissions,omitempty"` + + // SourceEntity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-sourceentity + SourceEntity *Analysis_AnalysisSourceEntity `json:"SourceEntity,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // ThemeArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html#cfn-quicksight-analysis-themearn + ThemeArn string `json:"ThemeArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Analysis) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis" +} + +// 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 Analysis) MarshalJSON() ([]byte, error) { + type Properties Analysis + return json.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 *Analysis) UnmarshalJSON(b []byte) error { + type Properties Analysis + 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 = Analysis(*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/quicksight/aws-quicksight-analysis_analysiserror.go b/cloudformation/quicksight/aws-quicksight-analysis_analysiserror.go new file mode 100644 index 0000000000..4e655b942e --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_analysiserror.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_AnalysisError AWS CloudFormation Resource (AWS::QuickSight::Analysis.AnalysisError) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysiserror.html +type Analysis_AnalysisError struct { + + // Message AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysiserror.html#cfn-quicksight-analysis-analysiserror-message + Message string `json:"Message,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysiserror.html#cfn-quicksight-analysis-analysiserror-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 *Analysis_AnalysisError) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.AnalysisError" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_analysissourceentity.go b/cloudformation/quicksight/aws-quicksight-analysis_analysissourceentity.go new file mode 100644 index 0000000000..e5d2298f4f --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_analysissourceentity.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_AnalysisSourceEntity AWS CloudFormation Resource (AWS::QuickSight::Analysis.AnalysisSourceEntity) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysissourceentity.html +type Analysis_AnalysisSourceEntity struct { + + // SourceTemplate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysissourceentity.html#cfn-quicksight-analysis-analysissourceentity-sourcetemplate + SourceTemplate *Analysis_AnalysisSourceTemplate `json:"SourceTemplate,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Analysis_AnalysisSourceEntity) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.AnalysisSourceEntity" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_analysissourcetemplate.go b/cloudformation/quicksight/aws-quicksight-analysis_analysissourcetemplate.go new file mode 100644 index 0000000000..45e17e7732 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_analysissourcetemplate.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_AnalysisSourceTemplate AWS CloudFormation Resource (AWS::QuickSight::Analysis.AnalysisSourceTemplate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysissourcetemplate.html +type Analysis_AnalysisSourceTemplate struct { + + // Arn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysissourcetemplate.html#cfn-quicksight-analysis-analysissourcetemplate-arn + Arn string `json:"Arn,omitempty"` + + // DataSetReferences AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-analysissourcetemplate.html#cfn-quicksight-analysis-analysissourcetemplate-datasetreferences + DataSetReferences []Analysis_DataSetReference `json:"DataSetReferences,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Analysis_AnalysisSourceTemplate) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.AnalysisSourceTemplate" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_datasetreference.go b/cloudformation/quicksight/aws-quicksight-analysis_datasetreference.go new file mode 100644 index 0000000000..bc21c896ad --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_datasetreference.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_DataSetReference AWS CloudFormation Resource (AWS::QuickSight::Analysis.DataSetReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-datasetreference.html +type Analysis_DataSetReference struct { + + // DataSetArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-datasetreference.html#cfn-quicksight-analysis-datasetreference-datasetarn + DataSetArn string `json:"DataSetArn,omitempty"` + + // DataSetPlaceholder AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-datasetreference.html#cfn-quicksight-analysis-datasetreference-datasetplaceholder + DataSetPlaceholder string `json:"DataSetPlaceholder,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Analysis_DataSetReference) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.DataSetReference" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_datetimeparameter.go b/cloudformation/quicksight/aws-quicksight-analysis_datetimeparameter.go new file mode 100644 index 0000000000..af60af5192 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_datetimeparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_DateTimeParameter AWS CloudFormation Resource (AWS::QuickSight::Analysis.DateTimeParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-datetimeparameter.html +type Analysis_DateTimeParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-datetimeparameter.html#cfn-quicksight-analysis-datetimeparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-datetimeparameter.html#cfn-quicksight-analysis-datetimeparameter-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 *Analysis_DateTimeParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.DateTimeParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_decimalparameter.go b/cloudformation/quicksight/aws-quicksight-analysis_decimalparameter.go new file mode 100644 index 0000000000..3697c580c0 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_decimalparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_DecimalParameter AWS CloudFormation Resource (AWS::QuickSight::Analysis.DecimalParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-decimalparameter.html +type Analysis_DecimalParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-decimalparameter.html#cfn-quicksight-analysis-decimalparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-decimalparameter.html#cfn-quicksight-analysis-decimalparameter-values + Values []float64 `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 *Analysis_DecimalParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.DecimalParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_integerparameter.go b/cloudformation/quicksight/aws-quicksight-analysis_integerparameter.go new file mode 100644 index 0000000000..57206f6869 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_integerparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_IntegerParameter AWS CloudFormation Resource (AWS::QuickSight::Analysis.IntegerParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-integerparameter.html +type Analysis_IntegerParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-integerparameter.html#cfn-quicksight-analysis-integerparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-integerparameter.html#cfn-quicksight-analysis-integerparameter-values + Values []float64 `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 *Analysis_IntegerParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.IntegerParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_parameters.go b/cloudformation/quicksight/aws-quicksight-analysis_parameters.go new file mode 100644 index 0000000000..5e8a7e877b --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_parameters.go @@ -0,0 +1,50 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_Parameters AWS CloudFormation Resource (AWS::QuickSight::Analysis.Parameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-parameters.html +type Analysis_Parameters struct { + + // DateTimeParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-parameters.html#cfn-quicksight-analysis-parameters-datetimeparameters + DateTimeParameters []Analysis_DateTimeParameter `json:"DateTimeParameters,omitempty"` + + // DecimalParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-parameters.html#cfn-quicksight-analysis-parameters-decimalparameters + DecimalParameters []Analysis_DecimalParameter `json:"DecimalParameters,omitempty"` + + // IntegerParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-parameters.html#cfn-quicksight-analysis-parameters-integerparameters + IntegerParameters []Analysis_IntegerParameter `json:"IntegerParameters,omitempty"` + + // StringParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-parameters.html#cfn-quicksight-analysis-parameters-stringparameters + StringParameters []Analysis_StringParameter `json:"StringParameters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Analysis_Parameters) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.Parameters" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_resourcepermission.go b/cloudformation/quicksight/aws-quicksight-analysis_resourcepermission.go new file mode 100644 index 0000000000..6683eb3850 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_resourcepermission.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_ResourcePermission AWS CloudFormation Resource (AWS::QuickSight::Analysis.ResourcePermission) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-resourcepermission.html +type Analysis_ResourcePermission struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-resourcepermission.html#cfn-quicksight-analysis-resourcepermission-actions + Actions []string `json:"Actions,omitempty"` + + // Principal AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-resourcepermission.html#cfn-quicksight-analysis-resourcepermission-principal + Principal string `json:"Principal,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Analysis_ResourcePermission) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.ResourcePermission" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_sheet.go b/cloudformation/quicksight/aws-quicksight-analysis_sheet.go new file mode 100644 index 0000000000..4f1811bbda --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_sheet.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_Sheet AWS CloudFormation Resource (AWS::QuickSight::Analysis.Sheet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-sheet.html +type Analysis_Sheet struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-sheet.html#cfn-quicksight-analysis-sheet-name + Name string `json:"Name,omitempty"` + + // SheetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-sheet.html#cfn-quicksight-analysis-sheet-sheetid + SheetId string `json:"SheetId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Analysis_Sheet) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.Sheet" +} diff --git a/cloudformation/quicksight/aws-quicksight-analysis_stringparameter.go b/cloudformation/quicksight/aws-quicksight-analysis_stringparameter.go new file mode 100644 index 0000000000..12162d41b0 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-analysis_stringparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Analysis_StringParameter AWS CloudFormation Resource (AWS::QuickSight::Analysis.StringParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-stringparameter.html +type Analysis_StringParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-stringparameter.html#cfn-quicksight-analysis-stringparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-stringparameter.html#cfn-quicksight-analysis-stringparameter-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 *Analysis_StringParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Analysis.StringParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard.go b/cloudformation/quicksight/aws-quicksight-dashboard.go new file mode 100644 index 0000000000..9699cb2f88 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard.go @@ -0,0 +1,152 @@ +package quicksight + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Dashboard AWS CloudFormation Resource (AWS::QuickSight::Dashboard) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html +type Dashboard struct { + + // AwsAccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-awsaccountid + AwsAccountId string `json:"AwsAccountId,omitempty"` + + // DashboardId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-dashboardid + DashboardId string `json:"DashboardId,omitempty"` + + // DashboardPublishOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-dashboardpublishoptions + DashboardPublishOptions *Dashboard_DashboardPublishOptions `json:"DashboardPublishOptions,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-name + Name string `json:"Name,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-parameters + Parameters *Dashboard_Parameters `json:"Parameters,omitempty"` + + // Permissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-permissions + Permissions []Dashboard_ResourcePermission `json:"Permissions,omitempty"` + + // SourceEntity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-sourceentity + SourceEntity *Dashboard_DashboardSourceEntity `json:"SourceEntity,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // ThemeArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-themearn + ThemeArn string `json:"ThemeArn,omitempty"` + + // VersionDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html#cfn-quicksight-dashboard-versiondescription + VersionDescription string `json:"VersionDescription,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Dashboard) UnmarshalJSON(b []byte) error { + type Properties Dashboard + 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 = Dashboard(*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/quicksight/aws-quicksight-dashboard_adhocfilteringoption.go b/cloudformation/quicksight/aws-quicksight-dashboard_adhocfilteringoption.go new file mode 100644 index 0000000000..9c3d33db7a --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_adhocfilteringoption.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_AdHocFilteringOption AWS CloudFormation Resource (AWS::QuickSight::Dashboard.AdHocFilteringOption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-adhocfilteringoption.html +type Dashboard_AdHocFilteringOption struct { + + // AvailabilityStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-adhocfilteringoption.html#cfn-quicksight-dashboard-adhocfilteringoption-availabilitystatus + AvailabilityStatus string `json:"AvailabilityStatus,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_AdHocFilteringOption) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.AdHocFilteringOption" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_dashboardpublishoptions.go b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardpublishoptions.go new file mode 100644 index 0000000000..2582451c9f --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardpublishoptions.go @@ -0,0 +1,45 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_DashboardPublishOptions AWS CloudFormation Resource (AWS::QuickSight::Dashboard.DashboardPublishOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardpublishoptions.html +type Dashboard_DashboardPublishOptions struct { + + // AdHocFilteringOption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardpublishoptions.html#cfn-quicksight-dashboard-dashboardpublishoptions-adhocfilteringoption + AdHocFilteringOption *Dashboard_AdHocFilteringOption `json:"AdHocFilteringOption,omitempty"` + + // ExportToCSVOption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardpublishoptions.html#cfn-quicksight-dashboard-dashboardpublishoptions-exporttocsvoption + ExportToCSVOption *Dashboard_ExportToCSVOption `json:"ExportToCSVOption,omitempty"` + + // SheetControlsOption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardpublishoptions.html#cfn-quicksight-dashboard-dashboardpublishoptions-sheetcontrolsoption + SheetControlsOption *Dashboard_SheetControlsOption `json:"SheetControlsOption,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_DashboardPublishOptions) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.DashboardPublishOptions" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourceentity.go b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourceentity.go new file mode 100644 index 0000000000..1d4dfec547 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourceentity.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_DashboardSourceEntity AWS CloudFormation Resource (AWS::QuickSight::Dashboard.DashboardSourceEntity) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardsourceentity.html +type Dashboard_DashboardSourceEntity struct { + + // SourceTemplate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardsourceentity.html#cfn-quicksight-dashboard-dashboardsourceentity-sourcetemplate + SourceTemplate *Dashboard_DashboardSourceTemplate `json:"SourceTemplate,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_DashboardSourceEntity) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.DashboardSourceEntity" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourcetemplate.go b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourcetemplate.go new file mode 100644 index 0000000000..b781c0b5c4 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardsourcetemplate.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_DashboardSourceTemplate AWS CloudFormation Resource (AWS::QuickSight::Dashboard.DashboardSourceTemplate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardsourcetemplate.html +type Dashboard_DashboardSourceTemplate struct { + + // Arn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardsourcetemplate.html#cfn-quicksight-dashboard-dashboardsourcetemplate-arn + Arn string `json:"Arn,omitempty"` + + // DataSetReferences AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardsourcetemplate.html#cfn-quicksight-dashboard-dashboardsourcetemplate-datasetreferences + DataSetReferences []Dashboard_DataSetReference `json:"DataSetReferences,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_DashboardSourceTemplate) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.DashboardSourceTemplate" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_datasetreference.go b/cloudformation/quicksight/aws-quicksight-dashboard_datasetreference.go new file mode 100644 index 0000000000..4f6546136c --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_datasetreference.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_DataSetReference AWS CloudFormation Resource (AWS::QuickSight::Dashboard.DataSetReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-datasetreference.html +type Dashboard_DataSetReference struct { + + // DataSetArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-datasetreference.html#cfn-quicksight-dashboard-datasetreference-datasetarn + DataSetArn string `json:"DataSetArn,omitempty"` + + // DataSetPlaceholder AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-datasetreference.html#cfn-quicksight-dashboard-datasetreference-datasetplaceholder + DataSetPlaceholder string `json:"DataSetPlaceholder,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_DataSetReference) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.DataSetReference" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_datetimeparameter.go b/cloudformation/quicksight/aws-quicksight-dashboard_datetimeparameter.go new file mode 100644 index 0000000000..e08bb46002 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_datetimeparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_DateTimeParameter AWS CloudFormation Resource (AWS::QuickSight::Dashboard.DateTimeParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-datetimeparameter.html +type Dashboard_DateTimeParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-datetimeparameter.html#cfn-quicksight-dashboard-datetimeparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-datetimeparameter.html#cfn-quicksight-dashboard-datetimeparameter-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 *Dashboard_DateTimeParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.DateTimeParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_decimalparameter.go b/cloudformation/quicksight/aws-quicksight-dashboard_decimalparameter.go new file mode 100644 index 0000000000..5a519c3db3 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_decimalparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_DecimalParameter AWS CloudFormation Resource (AWS::QuickSight::Dashboard.DecimalParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-decimalparameter.html +type Dashboard_DecimalParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-decimalparameter.html#cfn-quicksight-dashboard-decimalparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-decimalparameter.html#cfn-quicksight-dashboard-decimalparameter-values + Values []float64 `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 *Dashboard_DecimalParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.DecimalParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_exporttocsvoption.go b/cloudformation/quicksight/aws-quicksight-dashboard_exporttocsvoption.go new file mode 100644 index 0000000000..e4954aab84 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_exporttocsvoption.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_ExportToCSVOption AWS CloudFormation Resource (AWS::QuickSight::Dashboard.ExportToCSVOption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-exporttocsvoption.html +type Dashboard_ExportToCSVOption struct { + + // AvailabilityStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-exporttocsvoption.html#cfn-quicksight-dashboard-exporttocsvoption-availabilitystatus + AvailabilityStatus string `json:"AvailabilityStatus,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_ExportToCSVOption) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.ExportToCSVOption" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_integerparameter.go b/cloudformation/quicksight/aws-quicksight-dashboard_integerparameter.go new file mode 100644 index 0000000000..0786f0e7a5 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_integerparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_IntegerParameter AWS CloudFormation Resource (AWS::QuickSight::Dashboard.IntegerParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-integerparameter.html +type Dashboard_IntegerParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-integerparameter.html#cfn-quicksight-dashboard-integerparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-integerparameter.html#cfn-quicksight-dashboard-integerparameter-values + Values []float64 `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 *Dashboard_IntegerParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.IntegerParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_parameters.go b/cloudformation/quicksight/aws-quicksight-dashboard_parameters.go new file mode 100644 index 0000000000..51afd262dd --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_parameters.go @@ -0,0 +1,50 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_Parameters AWS CloudFormation Resource (AWS::QuickSight::Dashboard.Parameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-parameters.html +type Dashboard_Parameters struct { + + // DateTimeParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-parameters.html#cfn-quicksight-dashboard-parameters-datetimeparameters + DateTimeParameters []Dashboard_DateTimeParameter `json:"DateTimeParameters,omitempty"` + + // DecimalParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-parameters.html#cfn-quicksight-dashboard-parameters-decimalparameters + DecimalParameters []Dashboard_DecimalParameter `json:"DecimalParameters,omitempty"` + + // IntegerParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-parameters.html#cfn-quicksight-dashboard-parameters-integerparameters + IntegerParameters []Dashboard_IntegerParameter `json:"IntegerParameters,omitempty"` + + // StringParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-parameters.html#cfn-quicksight-dashboard-parameters-stringparameters + StringParameters []Dashboard_StringParameter `json:"StringParameters,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_Parameters) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.Parameters" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_resourcepermission.go b/cloudformation/quicksight/aws-quicksight-dashboard_resourcepermission.go new file mode 100644 index 0000000000..ceabac0526 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_resourcepermission.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_ResourcePermission AWS CloudFormation Resource (AWS::QuickSight::Dashboard.ResourcePermission) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-resourcepermission.html +type Dashboard_ResourcePermission struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-resourcepermission.html#cfn-quicksight-dashboard-resourcepermission-actions + Actions []string `json:"Actions,omitempty"` + + // Principal AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-resourcepermission.html#cfn-quicksight-dashboard-resourcepermission-principal + Principal string `json:"Principal,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_ResourcePermission) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.ResourcePermission" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_sheetcontrolsoption.go b/cloudformation/quicksight/aws-quicksight-dashboard_sheetcontrolsoption.go new file mode 100644 index 0000000000..7d96263e95 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_sheetcontrolsoption.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_SheetControlsOption AWS CloudFormation Resource (AWS::QuickSight::Dashboard.SheetControlsOption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-sheetcontrolsoption.html +type Dashboard_SheetControlsOption struct { + + // VisibilityState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-sheetcontrolsoption.html#cfn-quicksight-dashboard-sheetcontrolsoption-visibilitystate + VisibilityState string `json:"VisibilityState,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Dashboard_SheetControlsOption) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.SheetControlsOption" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_stringparameter.go b/cloudformation/quicksight/aws-quicksight-dashboard_stringparameter.go new file mode 100644 index 0000000000..fb48a6bd80 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-dashboard_stringparameter.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Dashboard_StringParameter AWS CloudFormation Resource (AWS::QuickSight::Dashboard.StringParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-stringparameter.html +type Dashboard_StringParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-stringparameter.html#cfn-quicksight-dashboard-stringparameter-name + Name string `json:"Name,omitempty"` + + // Values AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-stringparameter.html#cfn-quicksight-dashboard-stringparameter-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 *Dashboard_StringParameter) AWSCloudFormationType() string { + return "AWS::QuickSight::Dashboard.StringParameter" +} diff --git a/cloudformation/quicksight/aws-quicksight-template.go b/cloudformation/quicksight/aws-quicksight-template.go new file mode 100644 index 0000000000..b635d6fc46 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-template.go @@ -0,0 +1,137 @@ +package quicksight + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Template AWS CloudFormation Resource (AWS::QuickSight::Template) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html +type Template struct { + + // AwsAccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html#cfn-quicksight-template-awsaccountid + AwsAccountId string `json:"AwsAccountId,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html#cfn-quicksight-template-name + Name string `json:"Name,omitempty"` + + // Permissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html#cfn-quicksight-template-permissions + Permissions []Template_ResourcePermission `json:"Permissions,omitempty"` + + // SourceEntity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html#cfn-quicksight-template-sourceentity + SourceEntity *Template_TemplateSourceEntity `json:"SourceEntity,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html#cfn-quicksight-template-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TemplateId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html#cfn-quicksight-template-templateid + TemplateId string `json:"TemplateId,omitempty"` + + // VersionDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html#cfn-quicksight-template-versiondescription + VersionDescription string `json:"VersionDescription,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Template) AWSCloudFormationType() string { + return "AWS::QuickSight::Template" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Template) UnmarshalJSON(b []byte) error { + type Properties Template + 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 = Template(*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/quicksight/aws-quicksight-template_datasetreference.go b/cloudformation/quicksight/aws-quicksight-template_datasetreference.go new file mode 100644 index 0000000000..c8c25243b1 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-template_datasetreference.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Template_DataSetReference AWS CloudFormation Resource (AWS::QuickSight::Template.DataSetReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-datasetreference.html +type Template_DataSetReference struct { + + // DataSetArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-datasetreference.html#cfn-quicksight-template-datasetreference-datasetarn + DataSetArn string `json:"DataSetArn,omitempty"` + + // DataSetPlaceholder AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-datasetreference.html#cfn-quicksight-template-datasetreference-datasetplaceholder + DataSetPlaceholder string `json:"DataSetPlaceholder,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Template_DataSetReference) AWSCloudFormationType() string { + return "AWS::QuickSight::Template.DataSetReference" +} diff --git a/cloudformation/quicksight/aws-quicksight-template_resourcepermission.go b/cloudformation/quicksight/aws-quicksight-template_resourcepermission.go new file mode 100644 index 0000000000..a18df77a71 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-template_resourcepermission.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Template_ResourcePermission AWS CloudFormation Resource (AWS::QuickSight::Template.ResourcePermission) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-resourcepermission.html +type Template_ResourcePermission struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-resourcepermission.html#cfn-quicksight-template-resourcepermission-actions + Actions []string `json:"Actions,omitempty"` + + // Principal AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-resourcepermission.html#cfn-quicksight-template-resourcepermission-principal + Principal string `json:"Principal,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Template_ResourcePermission) AWSCloudFormationType() string { + return "AWS::QuickSight::Template.ResourcePermission" +} diff --git a/cloudformation/quicksight/aws-quicksight-template_templatesourceanalysis.go b/cloudformation/quicksight/aws-quicksight-template_templatesourceanalysis.go new file mode 100644 index 0000000000..41c67aa591 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-template_templatesourceanalysis.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Template_TemplateSourceAnalysis AWS CloudFormation Resource (AWS::QuickSight::Template.TemplateSourceAnalysis) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourceanalysis.html +type Template_TemplateSourceAnalysis struct { + + // Arn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourceanalysis.html#cfn-quicksight-template-templatesourceanalysis-arn + Arn string `json:"Arn,omitempty"` + + // DataSetReferences AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourceanalysis.html#cfn-quicksight-template-templatesourceanalysis-datasetreferences + DataSetReferences []Template_DataSetReference `json:"DataSetReferences,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Template_TemplateSourceAnalysis) AWSCloudFormationType() string { + return "AWS::QuickSight::Template.TemplateSourceAnalysis" +} diff --git a/cloudformation/quicksight/aws-quicksight-template_templatesourceentity.go b/cloudformation/quicksight/aws-quicksight-template_templatesourceentity.go new file mode 100644 index 0000000000..93bb94073c --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-template_templatesourceentity.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Template_TemplateSourceEntity AWS CloudFormation Resource (AWS::QuickSight::Template.TemplateSourceEntity) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourceentity.html +type Template_TemplateSourceEntity struct { + + // SourceAnalysis AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourceentity.html#cfn-quicksight-template-templatesourceentity-sourceanalysis + SourceAnalysis *Template_TemplateSourceAnalysis `json:"SourceAnalysis,omitempty"` + + // SourceTemplate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourceentity.html#cfn-quicksight-template-templatesourceentity-sourcetemplate + SourceTemplate *Template_TemplateSourceTemplate `json:"SourceTemplate,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Template_TemplateSourceEntity) AWSCloudFormationType() string { + return "AWS::QuickSight::Template.TemplateSourceEntity" +} diff --git a/cloudformation/quicksight/aws-quicksight-template_templatesourcetemplate.go b/cloudformation/quicksight/aws-quicksight-template_templatesourcetemplate.go new file mode 100644 index 0000000000..5d6d0d2ece --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-template_templatesourcetemplate.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Template_TemplateSourceTemplate AWS CloudFormation Resource (AWS::QuickSight::Template.TemplateSourceTemplate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourcetemplate.html +type Template_TemplateSourceTemplate struct { + + // Arn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templatesourcetemplate.html#cfn-quicksight-template-templatesourcetemplate-arn + Arn string `json:"Arn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Template_TemplateSourceTemplate) AWSCloudFormationType() string { + return "AWS::QuickSight::Template.TemplateSourceTemplate" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme.go b/cloudformation/quicksight/aws-quicksight-theme.go new file mode 100644 index 0000000000..d30fdd5163 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme.go @@ -0,0 +1,142 @@ +package quicksight + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Theme AWS CloudFormation Resource (AWS::QuickSight::Theme) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html +type Theme struct { + + // AwsAccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-awsaccountid + AwsAccountId string `json:"AwsAccountId,omitempty"` + + // BaseThemeId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-basethemeid + BaseThemeId string `json:"BaseThemeId,omitempty"` + + // Configuration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-configuration + Configuration *Theme_ThemeConfiguration `json:"Configuration,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-name + Name string `json:"Name,omitempty"` + + // Permissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-permissions + Permissions []Theme_ResourcePermission `json:"Permissions,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // ThemeId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-themeid + ThemeId string `json:"ThemeId,omitempty"` + + // VersionDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html#cfn-quicksight-theme-versiondescription + VersionDescription string `json:"VersionDescription,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme" +} + +// 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 Theme) MarshalJSON() ([]byte, error) { + type Properties Theme + return json.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 *Theme) UnmarshalJSON(b []byte) error { + type Properties Theme + 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 = Theme(*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/quicksight/aws-quicksight-theme_borderstyle.go b/cloudformation/quicksight/aws-quicksight-theme_borderstyle.go new file mode 100644 index 0000000000..f1ff733a11 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_borderstyle.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_BorderStyle AWS CloudFormation Resource (AWS::QuickSight::Theme.BorderStyle) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-borderstyle.html +type Theme_BorderStyle struct { + + // Show AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-borderstyle.html#cfn-quicksight-theme-borderstyle-show + Show bool `json:"Show,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_BorderStyle) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.BorderStyle" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_datacolorpalette.go b/cloudformation/quicksight/aws-quicksight-theme_datacolorpalette.go new file mode 100644 index 0000000000..7bcc2e33c6 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_datacolorpalette.go @@ -0,0 +1,45 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_DataColorPalette AWS CloudFormation Resource (AWS::QuickSight::Theme.DataColorPalette) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-datacolorpalette.html +type Theme_DataColorPalette struct { + + // Colors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-datacolorpalette.html#cfn-quicksight-theme-datacolorpalette-colors + Colors []string `json:"Colors,omitempty"` + + // EmptyFillColor AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-datacolorpalette.html#cfn-quicksight-theme-datacolorpalette-emptyfillcolor + EmptyFillColor string `json:"EmptyFillColor,omitempty"` + + // MinMaxGradient AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-datacolorpalette.html#cfn-quicksight-theme-datacolorpalette-minmaxgradient + MinMaxGradient []string `json:"MinMaxGradient,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_DataColorPalette) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.DataColorPalette" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_font.go b/cloudformation/quicksight/aws-quicksight-theme_font.go new file mode 100644 index 0000000000..cd98b1ce3b --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_font.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_Font AWS CloudFormation Resource (AWS::QuickSight::Theme.Font) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-font.html +type Theme_Font struct { + + // FontFamily AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-font.html#cfn-quicksight-theme-font-fontfamily + FontFamily string `json:"FontFamily,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_Font) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.Font" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_gutterstyle.go b/cloudformation/quicksight/aws-quicksight-theme_gutterstyle.go new file mode 100644 index 0000000000..5ba9cdbd28 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_gutterstyle.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_GutterStyle AWS CloudFormation Resource (AWS::QuickSight::Theme.GutterStyle) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-gutterstyle.html +type Theme_GutterStyle struct { + + // Show AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-gutterstyle.html#cfn-quicksight-theme-gutterstyle-show + Show bool `json:"Show,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_GutterStyle) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.GutterStyle" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_marginstyle.go b/cloudformation/quicksight/aws-quicksight-theme_marginstyle.go new file mode 100644 index 0000000000..9890e1a304 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_marginstyle.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_MarginStyle AWS CloudFormation Resource (AWS::QuickSight::Theme.MarginStyle) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-marginstyle.html +type Theme_MarginStyle struct { + + // Show AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-marginstyle.html#cfn-quicksight-theme-marginstyle-show + Show bool `json:"Show,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_MarginStyle) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.MarginStyle" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_resourcepermission.go b/cloudformation/quicksight/aws-quicksight-theme_resourcepermission.go new file mode 100644 index 0000000000..b0a564af8a --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_resourcepermission.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_ResourcePermission AWS CloudFormation Resource (AWS::QuickSight::Theme.ResourcePermission) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-resourcepermission.html +type Theme_ResourcePermission struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-resourcepermission.html#cfn-quicksight-theme-resourcepermission-actions + Actions []string `json:"Actions,omitempty"` + + // Principal AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-resourcepermission.html#cfn-quicksight-theme-resourcepermission-principal + Principal string `json:"Principal,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_ResourcePermission) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.ResourcePermission" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_sheetstyle.go b/cloudformation/quicksight/aws-quicksight-theme_sheetstyle.go new file mode 100644 index 0000000000..da3ae6a180 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_sheetstyle.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_SheetStyle AWS CloudFormation Resource (AWS::QuickSight::Theme.SheetStyle) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-sheetstyle.html +type Theme_SheetStyle struct { + + // Tile AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-sheetstyle.html#cfn-quicksight-theme-sheetstyle-tile + Tile *Theme_TileStyle `json:"Tile,omitempty"` + + // TileLayout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-sheetstyle.html#cfn-quicksight-theme-sheetstyle-tilelayout + TileLayout *Theme_TileLayoutStyle `json:"TileLayout,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_SheetStyle) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.SheetStyle" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_themeconfiguration.go b/cloudformation/quicksight/aws-quicksight-theme_themeconfiguration.go new file mode 100644 index 0000000000..787491d57c --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_themeconfiguration.go @@ -0,0 +1,50 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_ThemeConfiguration AWS CloudFormation Resource (AWS::QuickSight::Theme.ThemeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html +type Theme_ThemeConfiguration struct { + + // DataColorPalette AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-datacolorpalette + DataColorPalette *Theme_DataColorPalette `json:"DataColorPalette,omitempty"` + + // Sheet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-sheet + Sheet *Theme_SheetStyle `json:"Sheet,omitempty"` + + // Typography AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-typography + Typography *Theme_Typography `json:"Typography,omitempty"` + + // UIColorPalette AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-uicolorpalette + UIColorPalette *Theme_UIColorPalette `json:"UIColorPalette,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_ThemeConfiguration) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.ThemeConfiguration" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_tilelayoutstyle.go b/cloudformation/quicksight/aws-quicksight-theme_tilelayoutstyle.go new file mode 100644 index 0000000000..4588b720a8 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_tilelayoutstyle.go @@ -0,0 +1,40 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_TileLayoutStyle AWS CloudFormation Resource (AWS::QuickSight::Theme.TileLayoutStyle) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-tilelayoutstyle.html +type Theme_TileLayoutStyle struct { + + // Gutter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-tilelayoutstyle.html#cfn-quicksight-theme-tilelayoutstyle-gutter + Gutter *Theme_GutterStyle `json:"Gutter,omitempty"` + + // Margin AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-tilelayoutstyle.html#cfn-quicksight-theme-tilelayoutstyle-margin + Margin *Theme_MarginStyle `json:"Margin,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_TileLayoutStyle) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.TileLayoutStyle" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_tilestyle.go b/cloudformation/quicksight/aws-quicksight-theme_tilestyle.go new file mode 100644 index 0000000000..1cd907345b --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_tilestyle.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_TileStyle AWS CloudFormation Resource (AWS::QuickSight::Theme.TileStyle) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-tilestyle.html +type Theme_TileStyle struct { + + // Border AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-tilestyle.html#cfn-quicksight-theme-tilestyle-border + Border *Theme_BorderStyle `json:"Border,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_TileStyle) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.TileStyle" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_typography.go b/cloudformation/quicksight/aws-quicksight-theme_typography.go new file mode 100644 index 0000000000..69f85584a1 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_typography.go @@ -0,0 +1,35 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_Typography AWS CloudFormation Resource (AWS::QuickSight::Theme.Typography) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-typography.html +type Theme_Typography struct { + + // FontFamilies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-typography.html#cfn-quicksight-theme-typography-fontfamilies + FontFamilies []Theme_Font `json:"FontFamilies,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_Typography) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.Typography" +} diff --git a/cloudformation/quicksight/aws-quicksight-theme_uicolorpalette.go b/cloudformation/quicksight/aws-quicksight-theme_uicolorpalette.go new file mode 100644 index 0000000000..5518d10ce6 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-theme_uicolorpalette.go @@ -0,0 +1,110 @@ +package quicksight + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Theme_UIColorPalette AWS CloudFormation Resource (AWS::QuickSight::Theme.UIColorPalette) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html +type Theme_UIColorPalette struct { + + // Accent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-accent + Accent string `json:"Accent,omitempty"` + + // AccentForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-accentforeground + AccentForeground string `json:"AccentForeground,omitempty"` + + // Danger AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-danger + Danger string `json:"Danger,omitempty"` + + // DangerForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-dangerforeground + DangerForeground string `json:"DangerForeground,omitempty"` + + // Dimension AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-dimension + Dimension string `json:"Dimension,omitempty"` + + // DimensionForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-dimensionforeground + DimensionForeground string `json:"DimensionForeground,omitempty"` + + // Measure AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-measure + Measure string `json:"Measure,omitempty"` + + // MeasureForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-measureforeground + MeasureForeground string `json:"MeasureForeground,omitempty"` + + // PrimaryBackground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-primarybackground + PrimaryBackground string `json:"PrimaryBackground,omitempty"` + + // PrimaryForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-primaryforeground + PrimaryForeground string `json:"PrimaryForeground,omitempty"` + + // SecondaryBackground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-secondarybackground + SecondaryBackground string `json:"SecondaryBackground,omitempty"` + + // SecondaryForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-secondaryforeground + SecondaryForeground string `json:"SecondaryForeground,omitempty"` + + // Success AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-success + Success string `json:"Success,omitempty"` + + // SuccessForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-successforeground + SuccessForeground string `json:"SuccessForeground,omitempty"` + + // Warning AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-warning + Warning string `json:"Warning,omitempty"` + + // WarningForeground AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-uicolorpalette.html#cfn-quicksight-theme-uicolorpalette-warningforeground + WarningForeground string `json:"WarningForeground,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Theme_UIColorPalette) AWSCloudFormationType() string { + return "AWS::QuickSight::Theme.UIColorPalette" +} diff --git a/cloudformation/rds/aws-rds-globalcluster.go b/cloudformation/rds/aws-rds-globalcluster.go new file mode 100644 index 0000000000..17fec583b7 --- /dev/null +++ b/cloudformation/rds/aws-rds-globalcluster.go @@ -0,0 +1,131 @@ +package rds + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalCluster AWS CloudFormation Resource (AWS::RDS::GlobalCluster) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html +type GlobalCluster struct { + + // DeletionProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-deletionprotection + DeletionProtection bool `json:"DeletionProtection,omitempty"` + + // Engine AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-engine + Engine string `json:"Engine,omitempty"` + + // EngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-engineversion + EngineVersion string `json:"EngineVersion,omitempty"` + + // GlobalClusterIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-globalclusteridentifier + GlobalClusterIdentifier string `json:"GlobalClusterIdentifier,omitempty"` + + // SourceDBClusterIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-sourcedbclusteridentifier + SourceDBClusterIdentifier string `json:"SourceDBClusterIdentifier,omitempty"` + + // StorageEncrypted AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-storageencrypted + StorageEncrypted bool `json:"StorageEncrypted,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *GlobalCluster) AWSCloudFormationType() string { + return "AWS::RDS::GlobalCluster" +} + +// 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 GlobalCluster) MarshalJSON() ([]byte, error) { + type Properties GlobalCluster + return json.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 *GlobalCluster) UnmarshalJSON(b []byte) error { + type Properties GlobalCluster + 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 = GlobalCluster(*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/route53/aws-route53-dnssec.go b/cloudformation/route53/aws-route53-dnssec.go new file mode 100644 index 0000000000..1e9d7a5a3b --- /dev/null +++ b/cloudformation/route53/aws-route53-dnssec.go @@ -0,0 +1,106 @@ +package route53 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DNSSEC AWS CloudFormation Resource (AWS::Route53::DNSSEC) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html +type DNSSEC struct { + + // HostedZoneId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html#cfn-route53-dnssec-hostedzoneid + HostedZoneId string `json:"HostedZoneId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DNSSEC) AWSCloudFormationType() string { + return "AWS::Route53::DNSSEC" +} + +// 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 DNSSEC) MarshalJSON() ([]byte, error) { + type Properties DNSSEC + return json.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 *DNSSEC) UnmarshalJSON(b []byte) error { + type Properties DNSSEC + 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 = DNSSEC(*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/route53/aws-route53-keysigningkey.go b/cloudformation/route53/aws-route53-keysigningkey.go new file mode 100644 index 0000000000..6a273c8873 --- /dev/null +++ b/cloudformation/route53/aws-route53-keysigningkey.go @@ -0,0 +1,121 @@ +package route53 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// KeySigningKey AWS CloudFormation Resource (AWS::Route53::KeySigningKey) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html +type KeySigningKey struct { + + // HostedZoneId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-hostedzoneid + HostedZoneId string `json:"HostedZoneId,omitempty"` + + // KeyManagementServiceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-keymanagementservicearn + KeyManagementServiceArn string `json:"KeyManagementServiceArn,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-name + Name string `json:"Name,omitempty"` + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-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 *KeySigningKey) AWSCloudFormationType() string { + return "AWS::Route53::KeySigningKey" +} + +// 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 KeySigningKey) MarshalJSON() ([]byte, error) { + type Properties KeySigningKey + return json.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 *KeySigningKey) UnmarshalJSON(b []byte) error { + type Properties KeySigningKey + 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 = KeySigningKey(*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/route53resolver/aws-route53resolver-resolverdnssecconfig.go b/cloudformation/route53resolver/aws-route53resolver-resolverdnssecconfig.go new file mode 100644 index 0000000000..4923ec3586 --- /dev/null +++ b/cloudformation/route53resolver/aws-route53resolver-resolverdnssecconfig.go @@ -0,0 +1,106 @@ +package route53resolver + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResolverDNSSECConfig AWS CloudFormation Resource (AWS::Route53Resolver::ResolverDNSSECConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html +type ResolverDNSSECConfig struct { + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html#cfn-route53resolver-resolverdnssecconfig-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResolverDNSSECConfig) AWSCloudFormationType() string { + return "AWS::Route53Resolver::ResolverDNSSECConfig" +} + +// 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 ResolverDNSSECConfig) MarshalJSON() ([]byte, error) { + type Properties ResolverDNSSECConfig + return json.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 *ResolverDNSSECConfig) UnmarshalJSON(b []byte) error { + type Properties ResolverDNSSECConfig + 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 = ResolverDNSSECConfig(*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/s3/aws-s3-accesspoint.go b/cloudformation/s3/aws-s3-accesspoint.go index ff22e0e784..a3c00a276a 100644 --- a/cloudformation/s3/aws-s3-accesspoint.go +++ b/cloudformation/s3/aws-s3-accesspoint.go @@ -17,31 +17,16 @@ type AccessPoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucket Bucket string `json:"Bucket,omitempty"` - // CreationDate AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-creationdate - CreationDate string `json:"CreationDate,omitempty"` - // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name Name string `json:"Name,omitempty"` - // NetworkOrigin AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-networkorigin - NetworkOrigin string `json:"NetworkOrigin,omitempty"` - // Policy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy Policy interface{} `json:"Policy,omitempty"` - // PolicyStatus AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policystatus - PolicyStatus interface{} `json:"PolicyStatus,omitempty"` - // PublicAccessBlockConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration diff --git a/cloudformation/s3/aws-s3-bucket.go b/cloudformation/s3/aws-s3-bucket.go index 79f3df01fb..23f3400de7 100644 --- a/cloudformation/s3/aws-s3-bucket.go +++ b/cloudformation/s3/aws-s3-bucket.go @@ -43,6 +43,11 @@ type Bucket struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-crossoriginconfig CorsConfiguration *Bucket_CorsConfiguration `json:"CorsConfiguration,omitempty"` + // IntelligentTieringConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-intelligenttieringconfigurations + IntelligentTieringConfigurations []Bucket_IntelligentTieringConfiguration `json:"IntelligentTieringConfigurations,omitempty"` + // InventoryConfigurations AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-inventoryconfigurations @@ -78,6 +83,11 @@ type Bucket struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockenabled ObjectLockEnabled bool `json:"ObjectLockEnabled,omitempty"` + // OwnershipControls AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-ownershipcontrols + OwnershipControls *Bucket_OwnershipControls `json:"OwnershipControls,omitempty"` + // PublicAccessBlockConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration diff --git a/cloudformation/s3/aws-s3-bucket_intelligenttieringconfiguration.go b/cloudformation/s3/aws-s3-bucket_intelligenttieringconfiguration.go new file mode 100644 index 0000000000..8e3bfd637b --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_intelligenttieringconfiguration.go @@ -0,0 +1,55 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_IntelligentTieringConfiguration AWS CloudFormation Resource (AWS::S3::Bucket.IntelligentTieringConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html +type Bucket_IntelligentTieringConfiguration struct { + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-id + Id string `json:"Id,omitempty"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-prefix + Prefix string `json:"Prefix,omitempty"` + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-status + Status string `json:"Status,omitempty"` + + // TagFilters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-tagfilters + TagFilters []Bucket_TagFilter `json:"TagFilters,omitempty"` + + // Tierings AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-tierings + Tierings []Bucket_Tiering `json:"Tierings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_IntelligentTieringConfiguration) AWSCloudFormationType() string { + return "AWS::S3::Bucket.IntelligentTieringConfiguration" +} diff --git a/cloudformation/s3/aws-s3-bucket_ownershipcontrols.go b/cloudformation/s3/aws-s3-bucket_ownershipcontrols.go new file mode 100644 index 0000000000..6317a4a326 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_ownershipcontrols.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_OwnershipControls AWS CloudFormation Resource (AWS::S3::Bucket.OwnershipControls) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html +type Bucket_OwnershipControls struct { + + // Rules AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html#cfn-s3-bucket-ownershipcontrols-rules + Rules []Bucket_OwnershipControlsRule `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 *Bucket_OwnershipControls) AWSCloudFormationType() string { + return "AWS::S3::Bucket.OwnershipControls" +} diff --git a/cloudformation/s3/aws-s3-bucket_ownershipcontrolsrule.go b/cloudformation/s3/aws-s3-bucket_ownershipcontrolsrule.go new file mode 100644 index 0000000000..bb132a0856 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_ownershipcontrolsrule.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_OwnershipControlsRule AWS CloudFormation Resource (AWS::S3::Bucket.OwnershipControlsRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html +type Bucket_OwnershipControlsRule struct { + + // ObjectOwnership AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html#cfn-s3-bucket-ownershipcontrolsrule-objectownership + ObjectOwnership string `json:"ObjectOwnership,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_OwnershipControlsRule) AWSCloudFormationType() string { + return "AWS::S3::Bucket.OwnershipControlsRule" +} diff --git a/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go b/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go index fd83b18a32..6b4cef0aa3 100644 --- a/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go +++ b/cloudformation/s3/aws-s3-bucket_serversideencryptionrule.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html type Bucket_ServerSideEncryptionRule struct { + // BucketKeyEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-bucketkeyenabled + BucketKeyEnabled bool `json:"BucketKeyEnabled,omitempty"` + // ServerSideEncryptionByDefault AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-serversideencryptionbydefault diff --git a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go index 9628c606b0..17817183b7 100644 --- a/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go +++ b/cloudformation/s3/aws-s3-bucket_sourceselectioncriteria.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html type Bucket_SourceSelectionCriteria struct { + // ReplicaModifications AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-replicamodifications + ReplicaModifications *Bucket_ReplicaModifications `json:"ReplicaModifications,omitempty"` + // SseKmsEncryptedObjects AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects diff --git a/cloudformation/s3/aws-s3-bucket_tiering.go b/cloudformation/s3/aws-s3-bucket_tiering.go new file mode 100644 index 0000000000..ae34e31b98 --- /dev/null +++ b/cloudformation/s3/aws-s3-bucket_tiering.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_Tiering AWS CloudFormation Resource (AWS::S3::Bucket.Tiering) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html +type Bucket_Tiering struct { + + // AccessTier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html#cfn-s3-bucket-tiering-accesstier + AccessTier string `json:"AccessTier,omitempty"` + + // Days AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html#cfn-s3-bucket-tiering-days + Days int `json:"Days"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_Tiering) AWSCloudFormationType() string { + return "AWS::S3::Bucket.Tiering" +} diff --git a/cloudformation/s3/aws-s3-storagelens.go b/cloudformation/s3/aws-s3-storagelens.go new file mode 100644 index 0000000000..616eb892dc --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens.go @@ -0,0 +1,112 @@ +package s3 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// StorageLens AWS CloudFormation Resource (AWS::S3::StorageLens) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html +type StorageLens struct { + + // StorageLensConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-storagelensconfiguration + StorageLensConfiguration *StorageLens_StorageLensConfiguration `json:"StorageLensConfiguration,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-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 *StorageLens) AWSCloudFormationType() string { + return "AWS::S3::StorageLens" +} + +// 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 StorageLens) MarshalJSON() ([]byte, error) { + type Properties StorageLens + return json.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 *StorageLens) UnmarshalJSON(b []byte) error { + type Properties StorageLens + 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 = StorageLens(*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/s3/aws-s3-storagelens_accountlevel.go b/cloudformation/s3/aws-s3-storagelens_accountlevel.go new file mode 100644 index 0000000000..3e8e532ebf --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_accountlevel.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_AccountLevel AWS CloudFormation Resource (AWS::S3::StorageLens.AccountLevel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html +type StorageLens_AccountLevel struct { + + // ActivityMetrics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-activitymetrics + ActivityMetrics *StorageLens_ActivityMetrics `json:"ActivityMetrics,omitempty"` + + // BucketLevel AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-bucketlevel + BucketLevel *StorageLens_BucketLevel `json:"BucketLevel,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_AccountLevel) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.AccountLevel" +} diff --git a/cloudformation/s3/aws-s3-storagelens_activitymetrics.go b/cloudformation/s3/aws-s3-storagelens_activitymetrics.go new file mode 100644 index 0000000000..a29b8d534c --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_activitymetrics.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_ActivityMetrics AWS CloudFormation Resource (AWS::S3::StorageLens.ActivityMetrics) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-activitymetrics.html +type StorageLens_ActivityMetrics struct { + + // IsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-activitymetrics.html#cfn-s3-storagelens-activitymetrics-isenabled + IsEnabled bool `json:"IsEnabled,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_ActivityMetrics) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.ActivityMetrics" +} diff --git a/cloudformation/s3/aws-s3-storagelens_awsorg.go b/cloudformation/s3/aws-s3-storagelens_awsorg.go new file mode 100644 index 0000000000..132e33359f --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_awsorg.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_AwsOrg AWS CloudFormation Resource (AWS::S3::StorageLens.AwsOrg) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-awsorg.html +type StorageLens_AwsOrg struct { + + // Arn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-awsorg.html#cfn-s3-storagelens-awsorg-arn + Arn string `json:"Arn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_AwsOrg) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.AwsOrg" +} diff --git a/cloudformation/s3/aws-s3-storagelens_bucketlevel.go b/cloudformation/s3/aws-s3-storagelens_bucketlevel.go new file mode 100644 index 0000000000..0c60b84aab --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_bucketlevel.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_BucketLevel AWS CloudFormation Resource (AWS::S3::StorageLens.BucketLevel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html +type StorageLens_BucketLevel struct { + + // ActivityMetrics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-activitymetrics + ActivityMetrics *StorageLens_ActivityMetrics `json:"ActivityMetrics,omitempty"` + + // PrefixLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-prefixlevel + PrefixLevel *StorageLens_PrefixLevel `json:"PrefixLevel,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_BucketLevel) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.BucketLevel" +} diff --git a/cloudformation/s3/aws-s3-storagelens_bucketsandregions.go b/cloudformation/s3/aws-s3-storagelens_bucketsandregions.go new file mode 100644 index 0000000000..d8ef695dcb --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_bucketsandregions.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_BucketsAndRegions AWS CloudFormation Resource (AWS::S3::StorageLens.BucketsAndRegions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html +type StorageLens_BucketsAndRegions struct { + + // Buckets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html#cfn-s3-storagelens-bucketsandregions-buckets + Buckets []string `json:"Buckets,omitempty"` + + // Regions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html#cfn-s3-storagelens-bucketsandregions-regions + Regions []string `json:"Regions,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_BucketsAndRegions) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.BucketsAndRegions" +} diff --git a/cloudformation/s3/aws-s3-storagelens_dataexport.go b/cloudformation/s3/aws-s3-storagelens_dataexport.go new file mode 100644 index 0000000000..f673148b22 --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_dataexport.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_DataExport AWS CloudFormation Resource (AWS::S3::StorageLens.DataExport) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html +type StorageLens_DataExport struct { + + // S3BucketDestination AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html#cfn-s3-storagelens-dataexport-s3bucketdestination + S3BucketDestination *StorageLens_S3BucketDestination `json:"S3BucketDestination,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_DataExport) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.DataExport" +} diff --git a/cloudformation/s3/aws-s3-storagelens_encryption.go b/cloudformation/s3/aws-s3-storagelens_encryption.go new file mode 100644 index 0000000000..84185390f9 --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_encryption.go @@ -0,0 +1,30 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_Encryption AWS CloudFormation Resource (AWS::S3::StorageLens.Encryption) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-encryption.html +type StorageLens_Encryption struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_Encryption) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.Encryption" +} diff --git a/cloudformation/s3/aws-s3-storagelens_prefixlevel.go b/cloudformation/s3/aws-s3-storagelens_prefixlevel.go new file mode 100644 index 0000000000..371cbcd518 --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_prefixlevel.go @@ -0,0 +1,35 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_PrefixLevel AWS CloudFormation Resource (AWS::S3::StorageLens.PrefixLevel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevel.html +type StorageLens_PrefixLevel struct { + + // StorageMetrics AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevel.html#cfn-s3-storagelens-prefixlevel-storagemetrics + StorageMetrics *StorageLens_PrefixLevelStorageMetrics `json:"StorageMetrics,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_PrefixLevel) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.PrefixLevel" +} diff --git a/cloudformation/s3/aws-s3-storagelens_prefixlevelstoragemetrics.go b/cloudformation/s3/aws-s3-storagelens_prefixlevelstoragemetrics.go new file mode 100644 index 0000000000..37cbc0872c --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_prefixlevelstoragemetrics.go @@ -0,0 +1,40 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_PrefixLevelStorageMetrics AWS CloudFormation Resource (AWS::S3::StorageLens.PrefixLevelStorageMetrics) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html +type StorageLens_PrefixLevelStorageMetrics struct { + + // IsEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html#cfn-s3-storagelens-prefixlevelstoragemetrics-isenabled + IsEnabled bool `json:"IsEnabled,omitempty"` + + // SelectionCriteria AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html#cfn-s3-storagelens-prefixlevelstoragemetrics-selectioncriteria + SelectionCriteria *StorageLens_SelectionCriteria `json:"SelectionCriteria,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_PrefixLevelStorageMetrics) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.PrefixLevelStorageMetrics" +} diff --git a/cloudformation/s3/aws-s3-storagelens_s3bucketdestination.go b/cloudformation/s3/aws-s3-storagelens_s3bucketdestination.go new file mode 100644 index 0000000000..52c722b315 --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_s3bucketdestination.go @@ -0,0 +1,60 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_S3BucketDestination AWS CloudFormation Resource (AWS::S3::StorageLens.S3BucketDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html +type StorageLens_S3BucketDestination struct { + + // AccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-accountid + AccountId string `json:"AccountId,omitempty"` + + // Arn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-arn + Arn string `json:"Arn,omitempty"` + + // Encryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-encryption + Encryption *StorageLens_Encryption `json:"Encryption,omitempty"` + + // Format AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-format + Format string `json:"Format,omitempty"` + + // OutputSchemaVersion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-outputschemaversion + OutputSchemaVersion string `json:"OutputSchemaVersion,omitempty"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-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 *StorageLens_S3BucketDestination) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.S3BucketDestination" +} diff --git a/cloudformation/s3/aws-s3-storagelens_selectioncriteria.go b/cloudformation/s3/aws-s3-storagelens_selectioncriteria.go new file mode 100644 index 0000000000..bcf7d9599a --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_selectioncriteria.go @@ -0,0 +1,45 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_SelectionCriteria AWS CloudFormation Resource (AWS::S3::StorageLens.SelectionCriteria) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html +type StorageLens_SelectionCriteria struct { + + // Delimiter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-delimiter + Delimiter string `json:"Delimiter,omitempty"` + + // MaxDepth AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-maxdepth + MaxDepth int `json:"MaxDepth,omitempty"` + + // MinStorageBytesPercentage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-minstoragebytespercentage + MinStorageBytesPercentage float64 `json:"MinStorageBytesPercentage,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_SelectionCriteria) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.SelectionCriteria" +} diff --git a/cloudformation/s3/aws-s3-storagelens_storagelensconfiguration.go b/cloudformation/s3/aws-s3-storagelens_storagelensconfiguration.go new file mode 100644 index 0000000000..54f454c46f --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelens_storagelensconfiguration.go @@ -0,0 +1,70 @@ +package s3 + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StorageLens_StorageLensConfiguration AWS CloudFormation Resource (AWS::S3::StorageLens.StorageLensConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html +type StorageLens_StorageLensConfiguration struct { + + // AccountLevel AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-accountlevel + AccountLevel *StorageLens_AccountLevel `json:"AccountLevel,omitempty"` + + // AwsOrg AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-awsorg + AwsOrg *StorageLens_AwsOrg `json:"AwsOrg,omitempty"` + + // DataExport AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-dataexport + DataExport *StorageLens_DataExport `json:"DataExport,omitempty"` + + // Exclude AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-exclude + Exclude *StorageLens_BucketsAndRegions `json:"Exclude,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-id + Id string `json:"Id,omitempty"` + + // Include AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-include + Include *StorageLens_BucketsAndRegions `json:"Include,omitempty"` + + // IsEnabled AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-isenabled + IsEnabled bool `json:"IsEnabled"` + + // StorageLensArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-storagelensarn + StorageLensArn string `json:"StorageLensArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *StorageLens_StorageLensConfiguration) AWSCloudFormationType() string { + return "AWS::S3::StorageLens.StorageLensConfiguration" +} diff --git a/cloudformation/s3outposts/aws-s3outposts-accesspoint.go b/cloudformation/s3outposts/aws-s3outposts-accesspoint.go new file mode 100644 index 0000000000..8b7bd6efa0 --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-accesspoint.go @@ -0,0 +1,121 @@ +package s3outposts + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPoint AWS CloudFormation Resource (AWS::S3Outposts::AccessPoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html +type AccessPoint struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html#cfn-s3outposts-accesspoint-bucket + Bucket string `json:"Bucket,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html#cfn-s3outposts-accesspoint-name + Name string `json:"Name,omitempty"` + + // Policy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html#cfn-s3outposts-accesspoint-policy + Policy interface{} `json:"Policy,omitempty"` + + // VpcConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html#cfn-s3outposts-accesspoint-vpcconfiguration + VpcConfiguration *AccessPoint_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:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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::S3Outposts::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/s3outposts/aws-s3outposts-accesspoint_vpcconfiguration.go b/cloudformation/s3outposts/aws-s3outposts-accesspoint_vpcconfiguration.go new file mode 100644 index 0000000000..6c304bfcd5 --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-accesspoint_vpcconfiguration.go @@ -0,0 +1,35 @@ +package s3outposts + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AccessPoint_VpcConfiguration AWS CloudFormation Resource (AWS::S3Outposts::AccessPoint.VpcConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-accesspoint-vpcconfiguration.html +type AccessPoint_VpcConfiguration struct { + + // VpcId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-accesspoint-vpcconfiguration.html#cfn-s3outposts-accesspoint-vpcconfiguration-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 *AccessPoint_VpcConfiguration) AWSCloudFormationType() string { + return "AWS::S3Outposts::AccessPoint.VpcConfiguration" +} diff --git a/cloudformation/s3outposts/aws-s3outposts-bucket.go b/cloudformation/s3outposts/aws-s3outposts-bucket.go new file mode 100644 index 0000000000..9b90aaa1a2 --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-bucket.go @@ -0,0 +1,122 @@ +package s3outposts + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Bucket AWS CloudFormation Resource (AWS::S3Outposts::Bucket) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html +type Bucket struct { + + // BucketName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html#cfn-s3outposts-bucket-bucketname + BucketName string `json:"BucketName,omitempty"` + + // LifecycleConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html#cfn-s3outposts-bucket-lifecycleconfiguration + LifecycleConfiguration *Bucket_LifecycleConfiguration `json:"LifecycleConfiguration,omitempty"` + + // OutpostId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html#cfn-s3outposts-bucket-outpostid + OutpostId string `json:"OutpostId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html#cfn-s3outposts-bucket-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 *Bucket) AWSCloudFormationType() string { + return "AWS::S3Outposts::Bucket" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Bucket) UnmarshalJSON(b []byte) error { + type Properties Bucket + 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 = Bucket(*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/s3outposts/aws-s3outposts-bucket_abortincompletemultipartupload.go b/cloudformation/s3outposts/aws-s3outposts-bucket_abortincompletemultipartupload.go new file mode 100644 index 0000000000..ef3ec266be --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-bucket_abortincompletemultipartupload.go @@ -0,0 +1,35 @@ +package s3outposts + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_AbortIncompleteMultipartUpload AWS CloudFormation Resource (AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-abortincompletemultipartupload.html +type Bucket_AbortIncompleteMultipartUpload struct { + + // DaysAfterInitiation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-abortincompletemultipartupload.html#cfn-s3outposts-bucket-abortincompletemultipartupload-daysafterinitiation + DaysAfterInitiation int `json:"DaysAfterInitiation"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_AbortIncompleteMultipartUpload) AWSCloudFormationType() string { + return "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" +} diff --git a/cloudformation/s3outposts/aws-s3outposts-bucket_lifecycleconfiguration.go b/cloudformation/s3outposts/aws-s3outposts-bucket_lifecycleconfiguration.go new file mode 100644 index 0000000000..01db964edc --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-bucket_lifecycleconfiguration.go @@ -0,0 +1,35 @@ +package s3outposts + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_LifecycleConfiguration AWS CloudFormation Resource (AWS::S3Outposts::Bucket.LifecycleConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-lifecycleconfiguration.html +type Bucket_LifecycleConfiguration struct { + + // Rules AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-lifecycleconfiguration.html#cfn-s3outposts-bucket-lifecycleconfiguration-rules + Rules []Bucket_Rule `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 *Bucket_LifecycleConfiguration) AWSCloudFormationType() string { + return "AWS::S3Outposts::Bucket.LifecycleConfiguration" +} diff --git a/cloudformation/s3outposts/aws-s3outposts-bucket_rule.go b/cloudformation/s3outposts/aws-s3outposts-bucket_rule.go new file mode 100644 index 0000000000..50c81945c5 --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-bucket_rule.go @@ -0,0 +1,60 @@ +package s3outposts + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Bucket_Rule AWS CloudFormation Resource (AWS::S3Outposts::Bucket.Rule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html +type Bucket_Rule struct { + + // AbortIncompleteMultipartUpload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html#cfn-s3outposts-bucket-rule-abortincompletemultipartupload + AbortIncompleteMultipartUpload *Bucket_AbortIncompleteMultipartUpload `json:"AbortIncompleteMultipartUpload,omitempty"` + + // ExpirationDate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html#cfn-s3outposts-bucket-rule-expirationdate + ExpirationDate string `json:"ExpirationDate,omitempty"` + + // ExpirationInDays AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html#cfn-s3outposts-bucket-rule-expirationindays + ExpirationInDays int `json:"ExpirationInDays,omitempty"` + + // Filter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html#cfn-s3outposts-bucket-rule-filter + Filter interface{} `json:"Filter,omitempty"` + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html#cfn-s3outposts-bucket-rule-id + Id string `json:"Id,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html#cfn-s3outposts-bucket-rule-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_Rule) AWSCloudFormationType() string { + return "AWS::S3Outposts::Bucket.Rule" +} diff --git a/cloudformation/s3outposts/aws-s3outposts-bucketpolicy.go b/cloudformation/s3outposts/aws-s3outposts-bucketpolicy.go new file mode 100644 index 0000000000..9c17a842e5 --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-bucketpolicy.go @@ -0,0 +1,111 @@ +package s3outposts + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// BucketPolicy AWS CloudFormation Resource (AWS::S3Outposts::BucketPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html +type BucketPolicy struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html#cfn-s3outposts-bucketpolicy-bucket + Bucket string `json:"Bucket,omitempty"` + + // PolicyDocument AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html#cfn-s3outposts-bucketpolicy-policydocument + PolicyDocument interface{} `json:"PolicyDocument,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *BucketPolicy) AWSCloudFormationType() string { + return "AWS::S3Outposts::BucketPolicy" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *BucketPolicy) UnmarshalJSON(b []byte) error { + type Properties BucketPolicy + 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 = BucketPolicy(*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/s3outposts/aws-s3outposts-endpoint.go b/cloudformation/s3outposts/aws-s3outposts-endpoint.go new file mode 100644 index 0000000000..3f2a209b10 --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-endpoint.go @@ -0,0 +1,116 @@ +package s3outposts + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint AWS CloudFormation Resource (AWS::S3Outposts::Endpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html +type Endpoint struct { + + // OutpostId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html#cfn-s3outposts-endpoint-outpostid + OutpostId string `json:"OutpostId,omitempty"` + + // SecurityGroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html#cfn-s3outposts-endpoint-securitygroupid + SecurityGroupId string `json:"SecurityGroupId,omitempty"` + + // SubnetId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html#cfn-s3outposts-endpoint-subnetid + SubnetId string `json:"SubnetId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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) AWSCloudFormationType() string { + return "AWS::S3Outposts::Endpoint" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Endpoint) UnmarshalJSON(b []byte) error { + type Properties Endpoint + 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 = Endpoint(*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/s3outposts/aws-s3outposts-endpoint_networkinterface.go b/cloudformation/s3outposts/aws-s3outposts-endpoint_networkinterface.go new file mode 100644 index 0000000000..567d380620 --- /dev/null +++ b/cloudformation/s3outposts/aws-s3outposts-endpoint_networkinterface.go @@ -0,0 +1,35 @@ +package s3outposts + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_NetworkInterface AWS CloudFormation Resource (AWS::S3Outposts::Endpoint.NetworkInterface) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-endpoint-networkinterface.html +type Endpoint_NetworkInterface struct { + + // NetworkInterfaceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-endpoint-networkinterface.html#cfn-s3outposts-endpoint-networkinterface-networkinterfaceid + NetworkInterfaceId string `json:"NetworkInterfaceId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_NetworkInterface) AWSCloudFormationType() string { + return "AWS::S3Outposts::Endpoint.NetworkInterface" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-app.go b/cloudformation/sagemaker/aws-sagemaker-app.go new file mode 100644 index 0000000000..0ad069fb0f --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-app.go @@ -0,0 +1,132 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// App AWS CloudFormation Resource (AWS::SageMaker::App) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html +type App struct { + + // AppName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-appname + AppName string `json:"AppName,omitempty"` + + // AppType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-apptype + AppType string `json:"AppType,omitempty"` + + // DomainId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-domainid + DomainId string `json:"DomainId,omitempty"` + + // ResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-resourcespec + ResourceSpec *App_ResourceSpec `json:"ResourceSpec,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // UserProfileName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-userprofilename + UserProfileName string `json:"UserProfileName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *App) AWSCloudFormationType() string { + return "AWS::SageMaker::App" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *App) UnmarshalJSON(b []byte) error { + type Properties App + 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 = App(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-app_resourcespec.go b/cloudformation/sagemaker/aws-sagemaker-app_resourcespec.go new file mode 100644 index 0000000000..b83a21a7f3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-app_resourcespec.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// App_ResourceSpec AWS CloudFormation Resource (AWS::SageMaker::App.ResourceSpec) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-app-resourcespec.html +type App_ResourceSpec struct { + + // InstanceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-app-resourcespec.html#cfn-sagemaker-app-resourcespec-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // SageMakerImageArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-app-resourcespec.html#cfn-sagemaker-app-resourcespec-sagemakerimagearn + SageMakerImageArn string `json:"SageMakerImageArn,omitempty"` + + // SageMakerImageVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-app-resourcespec.html#cfn-sagemaker-app-resourcespec-sagemakerimageversionarn + SageMakerImageVersionArn string `json:"SageMakerImageVersionArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *App_ResourceSpec) AWSCloudFormationType() string { + return "AWS::SageMaker::App.ResourceSpec" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-appimageconfig.go b/cloudformation/sagemaker/aws-sagemaker-appimageconfig.go new file mode 100644 index 0000000000..75aa41583b --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-appimageconfig.go @@ -0,0 +1,117 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// AppImageConfig AWS CloudFormation Resource (AWS::SageMaker::AppImageConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html +type AppImageConfig struct { + + // AppImageConfigName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html#cfn-sagemaker-appimageconfig-appimageconfigname + AppImageConfigName string `json:"AppImageConfigName,omitempty"` + + // KernelGatewayImageConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig + KernelGatewayImageConfig *AppImageConfig_KernelGatewayImageConfig `json:"KernelGatewayImageConfig,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html#cfn-sagemaker-appimageconfig-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 *AppImageConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::AppImageConfig" +} + +// 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 AppImageConfig) MarshalJSON() ([]byte, error) { + type Properties AppImageConfig + return json.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 *AppImageConfig) UnmarshalJSON(b []byte) error { + type Properties AppImageConfig + 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 = AppImageConfig(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-appimageconfig_filesystemconfig.go b/cloudformation/sagemaker/aws-sagemaker-appimageconfig_filesystemconfig.go new file mode 100644 index 0000000000..1ed5420db1 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-appimageconfig_filesystemconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AppImageConfig_FileSystemConfig AWS CloudFormation Resource (AWS::SageMaker::AppImageConfig.FileSystemConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-filesystemconfig.html +type AppImageConfig_FileSystemConfig struct { + + // DefaultGid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-filesystemconfig.html#cfn-sagemaker-appimageconfig-filesystemconfig-defaultgid + DefaultGid int `json:"DefaultGid,omitempty"` + + // DefaultUid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-filesystemconfig.html#cfn-sagemaker-appimageconfig-filesystemconfig-defaultuid + DefaultUid int `json:"DefaultUid,omitempty"` + + // MountPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-filesystemconfig.html#cfn-sagemaker-appimageconfig-filesystemconfig-mountpath + MountPath string `json:"MountPath,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AppImageConfig_FileSystemConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::AppImageConfig.FileSystemConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelgatewayimageconfig.go b/cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelgatewayimageconfig.go new file mode 100644 index 0000000000..3a7c1caf2f --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelgatewayimageconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AppImageConfig_KernelGatewayImageConfig AWS CloudFormation Resource (AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-kernelgatewayimageconfig.html +type AppImageConfig_KernelGatewayImageConfig struct { + + // FileSystemConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-kernelgatewayimageconfig.html#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-filesystemconfig + FileSystemConfig *AppImageConfig_FileSystemConfig `json:"FileSystemConfig,omitempty"` + + // KernelSpecs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-kernelgatewayimageconfig.html#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-kernelspecs + KernelSpecs []AppImageConfig_KernelSpec `json:"KernelSpecs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AppImageConfig_KernelGatewayImageConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelspec.go b/cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelspec.go new file mode 100644 index 0000000000..33ce395280 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-appimageconfig_kernelspec.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AppImageConfig_KernelSpec AWS CloudFormation Resource (AWS::SageMaker::AppImageConfig.KernelSpec) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-kernelspec.html +type AppImageConfig_KernelSpec struct { + + // DisplayName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-kernelspec.html#cfn-sagemaker-appimageconfig-kernelspec-displayname + DisplayName string `json:"DisplayName,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-appimageconfig-kernelspec.html#cfn-sagemaker-appimageconfig-kernelspec-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 *AppImageConfig_KernelSpec) AWSCloudFormationType() string { + return "AWS::SageMaker::AppImageConfig.KernelSpec" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition.go new file mode 100644 index 0000000000..9c1270cec7 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition.go @@ -0,0 +1,152 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// DataQualityJobDefinition AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html +type DataQualityJobDefinition struct { + + // DataQualityAppSpecification AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification + DataQualityAppSpecification *DataQualityJobDefinition_DataQualityAppSpecification `json:"DataQualityAppSpecification,omitempty"` + + // DataQualityBaselineConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig + DataQualityBaselineConfig *DataQualityJobDefinition_DataQualityBaselineConfig `json:"DataQualityBaselineConfig,omitempty"` + + // DataQualityJobInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput + DataQualityJobInput *DataQualityJobDefinition_DataQualityJobInput `json:"DataQualityJobInput,omitempty"` + + // DataQualityJobOutputConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityjoboutputconfig + DataQualityJobOutputConfig *DataQualityJobDefinition_MonitoringOutputConfig `json:"DataQualityJobOutputConfig,omitempty"` + + // JobDefinitionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-jobdefinitionname + JobDefinitionName string `json:"JobDefinitionName,omitempty"` + + // JobResources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-jobresources + JobResources *DataQualityJobDefinition_MonitoringResources `json:"JobResources,omitempty"` + + // NetworkConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-networkconfig + NetworkConfig *DataQualityJobDefinition_NetworkConfig `json:"NetworkConfig,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // StoppingCondition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-stoppingcondition + StoppingCondition *DataQualityJobDefinition_StoppingCondition `json:"StoppingCondition,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html#cfn-sagemaker-dataqualityjobdefinition-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 *DataQualityJobDefinition) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition" +} + +// 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 DataQualityJobDefinition) MarshalJSON() ([]byte, error) { + type Properties DataQualityJobDefinition + return json.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 *DataQualityJobDefinition) UnmarshalJSON(b []byte) error { + type Properties DataQualityJobDefinition + 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 = DataQualityJobDefinition(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_clusterconfig.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_clusterconfig.go new file mode 100644 index 0000000000..a3056c3d67 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_clusterconfig.go @@ -0,0 +1,50 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_ClusterConfig AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.ClusterConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig.html +type DataQualityJobDefinition_ClusterConfig struct { + + // InstanceCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig.html#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-instancecount + InstanceCount int `json:"InstanceCount"` + + // InstanceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig.html#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // VolumeKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig.html#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-volumekmskeyid + VolumeKmsKeyId string `json:"VolumeKmsKeyId,omitempty"` + + // VolumeSizeInGB AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig.html#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-volumesizeingb + VolumeSizeInGB int `json:"VolumeSizeInGB"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_ClusterConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_constraintsresource.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_constraintsresource.go new file mode 100644 index 0000000000..73d16f63a3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_constraintsresource.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_ConstraintsResource AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-constraintsresource.html +type DataQualityJobDefinition_ConstraintsResource struct { + + // S3Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-constraintsresource.html#cfn-sagemaker-dataqualityjobdefinition-constraintsresource-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_ConstraintsResource) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go new file mode 100644 index 0000000000..35739ec9e4 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityappspecification.go @@ -0,0 +1,60 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_DataQualityAppSpecification AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html +type DataQualityJobDefinition_DataQualityAppSpecification struct { + + // ContainerArguments AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerarguments + ContainerArguments []string `json:"ContainerArguments,omitempty"` + + // ContainerEntrypoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerentrypoint + ContainerEntrypoint []string `json:"ContainerEntrypoint,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-environment + Environment *DataQualityJobDefinition_Environment `json:"Environment,omitempty"` + + // ImageUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-imageuri + ImageUri string `json:"ImageUri,omitempty"` + + // PostAnalyticsProcessorSourceUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-postanalyticsprocessorsourceuri + PostAnalyticsProcessorSourceUri string `json:"PostAnalyticsProcessorSourceUri,omitempty"` + + // RecordPreprocessorSourceUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-recordpreprocessorsourceuri + RecordPreprocessorSourceUri string `json:"RecordPreprocessorSourceUri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_DataQualityAppSpecification) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualitybaselineconfig.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualitybaselineconfig.go new file mode 100644 index 0000000000..e7bd19605d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualitybaselineconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_DataQualityBaselineConfig AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig.html +type DataQualityJobDefinition_DataQualityBaselineConfig struct { + + // BaseliningJobName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig.html#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-baseliningjobname + BaseliningJobName string `json:"BaseliningJobName,omitempty"` + + // ConstraintsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig.html#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-constraintsresource + ConstraintsResource *DataQualityJobDefinition_ConstraintsResource `json:"ConstraintsResource,omitempty"` + + // StatisticsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig.html#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-statisticsresource + StatisticsResource *DataQualityJobDefinition_StatisticsResource `json:"StatisticsResource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_DataQualityBaselineConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityjobinput.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityjobinput.go new file mode 100644 index 0000000000..f39d4c123e --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_dataqualityjobinput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_DataQualityJobInput AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityjobinput.html +type DataQualityJobDefinition_DataQualityJobInput struct { + + // EndpointInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-dataqualityjobinput.html#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput-endpointinput + EndpointInput *DataQualityJobDefinition_EndpointInput `json:"EndpointInput,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_DataQualityJobInput) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_endpointinput.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_endpointinput.go new file mode 100644 index 0000000000..dff1ec7fa7 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_endpointinput.go @@ -0,0 +1,50 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_EndpointInput AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.EndpointInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-endpointinput.html +type DataQualityJobDefinition_EndpointInput struct { + + // EndpointName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-endpointinput.html#cfn-sagemaker-dataqualityjobdefinition-endpointinput-endpointname + EndpointName string `json:"EndpointName,omitempty"` + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-endpointinput.html#cfn-sagemaker-dataqualityjobdefinition-endpointinput-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // S3DataDistributionType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-endpointinput.html#cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3datadistributiontype + S3DataDistributionType string `json:"S3DataDistributionType,omitempty"` + + // S3InputMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-endpointinput.html#cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3inputmode + S3InputMode string `json:"S3InputMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_EndpointInput) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.EndpointInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_environment.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_environment.go new file mode 100644 index 0000000000..6b67c85c20 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_environment.go @@ -0,0 +1,30 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_Environment AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-environment.html +type DataQualityJobDefinition_Environment struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_Environment) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.Environment" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutput.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutput.go new file mode 100644 index 0000000000..41bb92f7a3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_MonitoringOutput AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutput.html +type DataQualityJobDefinition_MonitoringOutput struct { + + // S3Output AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutput.html#cfn-sagemaker-dataqualityjobdefinition-monitoringoutput-s3output + S3Output *DataQualityJobDefinition_S3Output `json:"S3Output,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_MonitoringOutput) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutputconfig.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutputconfig.go new file mode 100644 index 0000000000..65ad873dce --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringoutputconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_MonitoringOutputConfig AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutputconfig.html +type DataQualityJobDefinition_MonitoringOutputConfig struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // MonitoringOutputs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-monitoringoutputs + MonitoringOutputs []DataQualityJobDefinition_MonitoringOutput `json:"MonitoringOutputs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_MonitoringOutputConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringresources.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringresources.go new file mode 100644 index 0000000000..f6909e30ef --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_monitoringresources.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_MonitoringResources AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.MonitoringResources) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-monitoringresources.html +type DataQualityJobDefinition_MonitoringResources struct { + + // ClusterConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-monitoringresources.html#cfn-sagemaker-dataqualityjobdefinition-monitoringresources-clusterconfig + ClusterConfig *DataQualityJobDefinition_ClusterConfig `json:"ClusterConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_MonitoringResources) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_networkconfig.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_networkconfig.go new file mode 100644 index 0000000000..afd193ab1f --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_networkconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_NetworkConfig AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.NetworkConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-networkconfig.html +type DataQualityJobDefinition_NetworkConfig struct { + + // EnableInterContainerTrafficEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-networkconfig.html#cfn-sagemaker-dataqualityjobdefinition-networkconfig-enableintercontainertrafficencryption + EnableInterContainerTrafficEncryption bool `json:"EnableInterContainerTrafficEncryption,omitempty"` + + // EnableNetworkIsolation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-networkconfig.html#cfn-sagemaker-dataqualityjobdefinition-networkconfig-enablenetworkisolation + EnableNetworkIsolation bool `json:"EnableNetworkIsolation,omitempty"` + + // VpcConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-networkconfig.html#cfn-sagemaker-dataqualityjobdefinition-networkconfig-vpcconfig + VpcConfig *DataQualityJobDefinition_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 *DataQualityJobDefinition_NetworkConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_s3output.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_s3output.go new file mode 100644 index 0000000000..d714b122c8 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_s3output.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_S3Output AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.S3Output) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-s3output.html +type DataQualityJobDefinition_S3Output struct { + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-s3output.html#cfn-sagemaker-dataqualityjobdefinition-s3output-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // S3UploadMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-s3output.html#cfn-sagemaker-dataqualityjobdefinition-s3output-s3uploadmode + S3UploadMode string `json:"S3UploadMode,omitempty"` + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-s3output.html#cfn-sagemaker-dataqualityjobdefinition-s3output-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_S3Output) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.S3Output" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_statisticsresource.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_statisticsresource.go new file mode 100644 index 0000000000..669efbf4f2 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_statisticsresource.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_StatisticsResource AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.StatisticsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-statisticsresource.html +type DataQualityJobDefinition_StatisticsResource struct { + + // S3Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-statisticsresource.html#cfn-sagemaker-dataqualityjobdefinition-statisticsresource-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_StatisticsResource) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_stoppingcondition.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_stoppingcondition.go new file mode 100644 index 0000000000..336d47918c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_stoppingcondition.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_StoppingCondition AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.StoppingCondition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-stoppingcondition.html +type DataQualityJobDefinition_StoppingCondition struct { + + // MaxRuntimeInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-stoppingcondition.html#cfn-sagemaker-dataqualityjobdefinition-stoppingcondition-maxruntimeinseconds + MaxRuntimeInSeconds int `json:"MaxRuntimeInSeconds"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_StoppingCondition) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_vpcconfig.go b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_vpcconfig.go new file mode 100644 index 0000000000..7286e06fcd --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-dataqualityjobdefinition_vpcconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DataQualityJobDefinition_VpcConfig AWS CloudFormation Resource (AWS::SageMaker::DataQualityJobDefinition.VpcConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-vpcconfig.html +type DataQualityJobDefinition_VpcConfig struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-vpcconfig.html#cfn-sagemaker-dataqualityjobdefinition-vpcconfig-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // Subnets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-dataqualityjobdefinition-vpcconfig.html#cfn-sagemaker-dataqualityjobdefinition-vpcconfig-subnets + Subnets []string `json:"Subnets,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataQualityJobDefinition_VpcConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::DataQualityJobDefinition.VpcConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-device.go b/cloudformation/sagemaker/aws-sagemaker-device.go new file mode 100644 index 0000000000..cef9b6d88c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-device.go @@ -0,0 +1,117 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Device AWS CloudFormation Resource (AWS::SageMaker::Device) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html +type Device struct { + + // Device AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html#cfn-sagemaker-device-device + Device interface{} `json:"Device,omitempty"` + + // DeviceFleetName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html#cfn-sagemaker-device-devicefleetname + DeviceFleetName string `json:"DeviceFleetName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html#cfn-sagemaker-device-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 *Device) AWSCloudFormationType() string { + return "AWS::SageMaker::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/sagemaker/aws-sagemaker-device_device.go b/cloudformation/sagemaker/aws-sagemaker-device_device.go new file mode 100644 index 0000000000..3beb1ce800 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-device_device.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Device_Device AWS CloudFormation Resource (AWS::SageMaker::Device.Device) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-device-device.html +type Device_Device struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-device-device.html#cfn-sagemaker-device-device-description + Description string `json:"Description,omitempty"` + + // DeviceName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-device-device.html#cfn-sagemaker-device-device-devicename + DeviceName string `json:"DeviceName,omitempty"` + + // IotThingName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-device-device.html#cfn-sagemaker-device-device-iotthingname + IotThingName string `json:"IotThingName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_Device) AWSCloudFormationType() string { + return "AWS::SageMaker::Device.Device" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-devicefleet.go b/cloudformation/sagemaker/aws-sagemaker-devicefleet.go new file mode 100644 index 0000000000..17daacd84d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-devicefleet.go @@ -0,0 +1,127 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// DeviceFleet AWS CloudFormation Resource (AWS::SageMaker::DeviceFleet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html +type DeviceFleet struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html#cfn-sagemaker-devicefleet-description + Description string `json:"Description,omitempty"` + + // DeviceFleetName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html#cfn-sagemaker-devicefleet-devicefleetname + DeviceFleetName string `json:"DeviceFleetName,omitempty"` + + // OutputConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html#cfn-sagemaker-devicefleet-outputconfig + OutputConfig *DeviceFleet_EdgeOutputConfig `json:"OutputConfig,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html#cfn-sagemaker-devicefleet-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html#cfn-sagemaker-devicefleet-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 *DeviceFleet) AWSCloudFormationType() string { + return "AWS::SageMaker::DeviceFleet" +} + +// 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 DeviceFleet) MarshalJSON() ([]byte, error) { + type Properties DeviceFleet + return json.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 *DeviceFleet) UnmarshalJSON(b []byte) error { + type Properties DeviceFleet + 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 = DeviceFleet(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-devicefleet_edgeoutputconfig.go b/cloudformation/sagemaker/aws-sagemaker-devicefleet_edgeoutputconfig.go new file mode 100644 index 0000000000..470186f211 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-devicefleet_edgeoutputconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DeviceFleet_EdgeOutputConfig AWS CloudFormation Resource (AWS::SageMaker::DeviceFleet.EdgeOutputConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-devicefleet-edgeoutputconfig.html +type DeviceFleet_EdgeOutputConfig struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-devicefleet-edgeoutputconfig.html#cfn-sagemaker-devicefleet-edgeoutputconfig-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // S3OutputLocation AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-devicefleet-edgeoutputconfig.html#cfn-sagemaker-devicefleet-edgeoutputconfig-s3outputlocation + S3OutputLocation string `json:"S3OutputLocation,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DeviceFleet_EdgeOutputConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::DeviceFleet.EdgeOutputConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain.go b/cloudformation/sagemaker/aws-sagemaker-domain.go new file mode 100644 index 0000000000..77aa1dfb18 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain.go @@ -0,0 +1,142 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Domain AWS CloudFormation Resource (AWS::SageMaker::Domain) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html +type Domain struct { + + // AppNetworkAccessType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-appnetworkaccesstype + AppNetworkAccessType string `json:"AppNetworkAccessType,omitempty"` + + // AuthMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-authmode + AuthMode string `json:"AuthMode,omitempty"` + + // DefaultUserSettings AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-defaultusersettings + DefaultUserSettings *Domain_UserSettings `json:"DefaultUserSettings,omitempty"` + + // DomainName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-domainname + DomainName string `json:"DomainName,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-subnetids + SubnetIds []string `json:"SubnetIds,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VpcId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-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 *Domain) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Domain) UnmarshalJSON(b []byte) error { + type Properties Domain + 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 = Domain(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_customimage.go b/cloudformation/sagemaker/aws-sagemaker-domain_customimage.go new file mode 100644 index 0000000000..ffac1a4bd2 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_customimage.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_CustomImage AWS CloudFormation Resource (AWS::SageMaker::Domain.CustomImage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customimage.html +type Domain_CustomImage struct { + + // AppImageConfigName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customimage.html#cfn-sagemaker-domain-customimage-appimageconfigname + AppImageConfigName string `json:"AppImageConfigName,omitempty"` + + // ImageName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customimage.html#cfn-sagemaker-domain-customimage-imagename + ImageName string `json:"ImageName,omitempty"` + + // ImageVersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customimage.html#cfn-sagemaker-domain-customimage-imageversionnumber + ImageVersionNumber int `json:"ImageVersionNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_CustomImage) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.CustomImage" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_jupyterserverappsettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_jupyterserverappsettings.go new file mode 100644 index 0000000000..0f1549a27c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_jupyterserverappsettings.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_JupyterServerAppSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.JupyterServerAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterserverappsettings.html +type Domain_JupyterServerAppSettings struct { + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterserverappsettings.html#cfn-sagemaker-domain-jupyterserverappsettings-defaultresourcespec + DefaultResourceSpec *Domain_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_JupyterServerAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.JupyterServerAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_kernelgatewayappsettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_kernelgatewayappsettings.go new file mode 100644 index 0000000000..9763d30352 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_kernelgatewayappsettings.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_KernelGatewayAppSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.KernelGatewayAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-kernelgatewayappsettings.html +type Domain_KernelGatewayAppSettings struct { + + // CustomImages AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-kernelgatewayappsettings.html#cfn-sagemaker-domain-kernelgatewayappsettings-customimages + CustomImages []Domain_CustomImage `json:"CustomImages,omitempty"` + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-kernelgatewayappsettings.html#cfn-sagemaker-domain-kernelgatewayappsettings-defaultresourcespec + DefaultResourceSpec *Domain_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_KernelGatewayAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.KernelGatewayAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_resourcespec.go b/cloudformation/sagemaker/aws-sagemaker-domain_resourcespec.go new file mode 100644 index 0000000000..4f51720f02 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_resourcespec.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_ResourceSpec AWS CloudFormation Resource (AWS::SageMaker::Domain.ResourceSpec) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-resourcespec.html +type Domain_ResourceSpec struct { + + // InstanceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-resourcespec.html#cfn-sagemaker-domain-resourcespec-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // SageMakerImageArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-resourcespec.html#cfn-sagemaker-domain-resourcespec-sagemakerimagearn + SageMakerImageArn string `json:"SageMakerImageArn,omitempty"` + + // SageMakerImageVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-resourcespec.html#cfn-sagemaker-domain-resourcespec-sagemakerimageversionarn + SageMakerImageVersionArn string `json:"SageMakerImageVersionArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_ResourceSpec) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.ResourceSpec" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_sharingsettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_sharingsettings.go new file mode 100644 index 0000000000..64abb21b8f --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_sharingsettings.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_SharingSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.SharingSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-sharingsettings.html +type Domain_SharingSettings struct { + + // NotebookOutputOption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-sharingsettings.html#cfn-sagemaker-domain-sharingsettings-notebookoutputoption + NotebookOutputOption string `json:"NotebookOutputOption,omitempty"` + + // S3KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-sharingsettings.html#cfn-sagemaker-domain-sharingsettings-s3kmskeyid + S3KmsKeyId string `json:"S3KmsKeyId,omitempty"` + + // S3OutputPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-sharingsettings.html#cfn-sagemaker-domain-sharingsettings-s3outputpath + S3OutputPath string `json:"S3OutputPath,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_SharingSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.SharingSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go new file mode 100644 index 0000000000..0967da9ee7 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go @@ -0,0 +1,55 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Domain_UserSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.UserSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html +type Domain_UserSettings struct { + + // ExecutionRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-executionrole + ExecutionRole string `json:"ExecutionRole,omitempty"` + + // JupyterServerAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-jupyterserverappsettings + JupyterServerAppSettings *Domain_JupyterServerAppSettings `json:"JupyterServerAppSettings,omitempty"` + + // KernelGatewayAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-kernelgatewayappsettings + KernelGatewayAppSettings *Domain_KernelGatewayAppSettings `json:"KernelGatewayAppSettings,omitempty"` + + // SecurityGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-securitygroups + SecurityGroups []string `json:"SecurityGroups,omitempty"` + + // SharingSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-sharingsettings + SharingSettings *Domain_SharingSettings `json:"SharingSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Domain_UserSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.UserSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint.go b/cloudformation/sagemaker/aws-sagemaker-endpoint.go index 2ac5e3ad96..c39743544b 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpoint.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html type Endpoint struct { + // DeploymentConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-deploymentconfig + DeploymentConfig *Endpoint_DeploymentConfig `json:"DeploymentConfig,omitempty"` + // EndpointConfigName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-endpointconfigname diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint_alarm.go b/cloudformation/sagemaker/aws-sagemaker-endpoint_alarm.go new file mode 100644 index 0000000000..1ae570f1bb --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint_alarm.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_Alarm AWS CloudFormation Resource (AWS::SageMaker::Endpoint.Alarm) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-alarm.html +type Endpoint_Alarm struct { + + // AlarmName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-alarm.html#cfn-sagemaker-endpoint-alarm-alarmname + AlarmName string `json:"AlarmName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_Alarm) AWSCloudFormationType() string { + return "AWS::SageMaker::Endpoint.Alarm" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint_autorollbackconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpoint_autorollbackconfig.go new file mode 100644 index 0000000000..efcf177bff --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint_autorollbackconfig.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_AutoRollbackConfig AWS CloudFormation Resource (AWS::SageMaker::Endpoint.AutoRollbackConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-autorollbackconfig.html +type Endpoint_AutoRollbackConfig struct { + + // Alarms AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-autorollbackconfig.html#cfn-sagemaker-endpoint-autorollbackconfig-alarms + Alarms []Endpoint_Alarm `json:"Alarms,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_AutoRollbackConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Endpoint.AutoRollbackConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint_bluegreenupdatepolicy.go b/cloudformation/sagemaker/aws-sagemaker-endpoint_bluegreenupdatepolicy.go new file mode 100644 index 0000000000..6c4f14fc10 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint_bluegreenupdatepolicy.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_BlueGreenUpdatePolicy AWS CloudFormation Resource (AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-bluegreenupdatepolicy.html +type Endpoint_BlueGreenUpdatePolicy struct { + + // MaximumExecutionTimeoutInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-bluegreenupdatepolicy.html#cfn-sagemaker-endpoint-bluegreenupdatepolicy-maximumexecutiontimeoutinseconds + MaximumExecutionTimeoutInSeconds int `json:"MaximumExecutionTimeoutInSeconds,omitempty"` + + // TerminationWaitInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-bluegreenupdatepolicy.html#cfn-sagemaker-endpoint-bluegreenupdatepolicy-terminationwaitinseconds + TerminationWaitInSeconds int `json:"TerminationWaitInSeconds,omitempty"` + + // TrafficRoutingConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-bluegreenupdatepolicy.html#cfn-sagemaker-endpoint-bluegreenupdatepolicy-trafficroutingconfiguration + TrafficRoutingConfiguration *Endpoint_TrafficRoutingConfig `json:"TrafficRoutingConfiguration,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_BlueGreenUpdatePolicy) AWSCloudFormationType() string { + return "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint_capacitysize.go b/cloudformation/sagemaker/aws-sagemaker-endpoint_capacitysize.go new file mode 100644 index 0000000000..20fb5dee31 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint_capacitysize.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_CapacitySize AWS CloudFormation Resource (AWS::SageMaker::Endpoint.CapacitySize) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-capacitysize.html +type Endpoint_CapacitySize struct { + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-capacitysize.html#cfn-sagemaker-endpoint-capacitysize-type + Type string `json:"Type,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-capacitysize.html#cfn-sagemaker-endpoint-capacitysize-value + Value int `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Endpoint_CapacitySize) AWSCloudFormationType() string { + return "AWS::SageMaker::Endpoint.CapacitySize" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint_deploymentconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpoint_deploymentconfig.go new file mode 100644 index 0000000000..695d1c3252 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint_deploymentconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_DeploymentConfig AWS CloudFormation Resource (AWS::SageMaker::Endpoint.DeploymentConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-deploymentconfig.html +type Endpoint_DeploymentConfig struct { + + // AutoRollbackConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-deploymentconfig.html#cfn-sagemaker-endpoint-deploymentconfig-autorollbackconfiguration + AutoRollbackConfiguration *Endpoint_AutoRollbackConfig `json:"AutoRollbackConfiguration,omitempty"` + + // BlueGreenUpdatePolicy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-deploymentconfig.html#cfn-sagemaker-endpoint-deploymentconfig-bluegreenupdatepolicy + BlueGreenUpdatePolicy *Endpoint_BlueGreenUpdatePolicy `json:"BlueGreenUpdatePolicy,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_DeploymentConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Endpoint.DeploymentConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpoint_trafficroutingconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpoint_trafficroutingconfig.go new file mode 100644 index 0000000000..61609a433c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpoint_trafficroutingconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Endpoint_TrafficRoutingConfig AWS CloudFormation Resource (AWS::SageMaker::Endpoint.TrafficRoutingConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-trafficroutingconfig.html +type Endpoint_TrafficRoutingConfig struct { + + // CanarySize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-trafficroutingconfig.html#cfn-sagemaker-endpoint-trafficroutingconfig-canarysize + CanarySize *Endpoint_CapacitySize `json:"CanarySize,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-trafficroutingconfig.html#cfn-sagemaker-endpoint-trafficroutingconfig-type + Type string `json:"Type,omitempty"` + + // WaitIntervalInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-trafficroutingconfig.html#cfn-sagemaker-endpoint-trafficroutingconfig-waitintervalinseconds + WaitIntervalInSeconds int `json:"WaitIntervalInSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_TrafficRoutingConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Endpoint.TrafficRoutingConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-featuregroup.go b/cloudformation/sagemaker/aws-sagemaker-featuregroup.go new file mode 100644 index 0000000000..23584b7fd1 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-featuregroup.go @@ -0,0 +1,147 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// FeatureGroup AWS CloudFormation Resource (AWS::SageMaker::FeatureGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html +type FeatureGroup struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-description + Description string `json:"Description,omitempty"` + + // EventTimeFeatureName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-eventtimefeaturename + EventTimeFeatureName string `json:"EventTimeFeatureName,omitempty"` + + // FeatureDefinitions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-featuredefinitions + FeatureDefinitions []FeatureGroup_FeatureDefinition `json:"FeatureDefinitions,omitempty"` + + // FeatureGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-featuregroupname + FeatureGroupName string `json:"FeatureGroupName,omitempty"` + + // OfflineStoreConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-offlinestoreconfig + OfflineStoreConfig interface{} `json:"OfflineStoreConfig,omitempty"` + + // OnlineStoreConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-onlinestoreconfig + OnlineStoreConfig interface{} `json:"OnlineStoreConfig,omitempty"` + + // RecordIdentifierFeatureName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-recordidentifierfeaturename + RecordIdentifierFeatureName string `json:"RecordIdentifierFeatureName,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html#cfn-sagemaker-featuregroup-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 *FeatureGroup) AWSCloudFormationType() string { + return "AWS::SageMaker::FeatureGroup" +} + +// 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 FeatureGroup) MarshalJSON() ([]byte, error) { + type Properties FeatureGroup + return json.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 *FeatureGroup) UnmarshalJSON(b []byte) error { + type Properties FeatureGroup + 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 = FeatureGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-featuregroup_featuredefinition.go b/cloudformation/sagemaker/aws-sagemaker-featuregroup_featuredefinition.go new file mode 100644 index 0000000000..81798bfe41 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-featuregroup_featuredefinition.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// FeatureGroup_FeatureDefinition AWS CloudFormation Resource (AWS::SageMaker::FeatureGroup.FeatureDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-featuredefinition.html +type FeatureGroup_FeatureDefinition struct { + + // FeatureName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-featuredefinition.html#cfn-sagemaker-featuregroup-featuredefinition-featurename + FeatureName string `json:"FeatureName,omitempty"` + + // FeatureType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-featuregroup-featuredefinition.html#cfn-sagemaker-featuregroup-featuredefinition-featuretype + FeatureType string `json:"FeatureType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *FeatureGroup_FeatureDefinition) AWSCloudFormationType() string { + return "AWS::SageMaker::FeatureGroup.FeatureDefinition" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-image.go b/cloudformation/sagemaker/aws-sagemaker-image.go new file mode 100644 index 0000000000..aa180bee8f --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-image.go @@ -0,0 +1,127 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Image AWS CloudFormation Resource (AWS::SageMaker::Image) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html +type Image struct { + + // ImageDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html#cfn-sagemaker-image-imagedescription + ImageDescription string `json:"ImageDescription,omitempty"` + + // ImageDisplayName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html#cfn-sagemaker-image-imagedisplayname + ImageDisplayName string `json:"ImageDisplayName,omitempty"` + + // ImageName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html#cfn-sagemaker-image-imagename + ImageName string `json:"ImageName,omitempty"` + + // ImageRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html#cfn-sagemaker-image-imagerolearn + ImageRoleArn string `json:"ImageRoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html#cfn-sagemaker-image-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 *Image) AWSCloudFormationType() string { + return "AWS::SageMaker::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/sagemaker/aws-sagemaker-imageversion.go b/cloudformation/sagemaker/aws-sagemaker-imageversion.go new file mode 100644 index 0000000000..9b850f2474 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-imageversion.go @@ -0,0 +1,111 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ImageVersion AWS CloudFormation Resource (AWS::SageMaker::ImageVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html +type ImageVersion struct { + + // BaseImage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-baseimage + BaseImage string `json:"BaseImage,omitempty"` + + // ImageName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-imagename + ImageName string `json:"ImageName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImageVersion) AWSCloudFormationType() string { + return "AWS::SageMaker::ImageVersion" +} + +// 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 ImageVersion) MarshalJSON() ([]byte, error) { + type Properties ImageVersion + return json.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 *ImageVersion) UnmarshalJSON(b []byte) error { + type Properties ImageVersion + 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 = ImageVersion(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-model.go b/cloudformation/sagemaker/aws-sagemaker-model.go index 247a277063..6b9f5cae82 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model.go +++ b/cloudformation/sagemaker/aws-sagemaker-model.go @@ -28,6 +28,11 @@ type Model struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-executionrolearn ExecutionRoleArn string `json:"ExecutionRoleArn,omitempty"` + // InferenceExecutionConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-inferenceexecutionconfig + InferenceExecutionConfig *Model_InferenceExecutionConfig `json:"InferenceExecutionConfig,omitempty"` + // ModelName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-modelname diff --git a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go index 06142ba382..1ae740a1e1 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go @@ -43,6 +43,11 @@ type Model_ContainerDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modelpackagename ModelPackageName string `json:"ModelPackageName,omitempty"` + // MultiModelConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-multimodelconfig + MultiModelConfig *Model_MultiModelConfig `json:"MultiModelConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-model_inferenceexecutionconfig.go b/cloudformation/sagemaker/aws-sagemaker-model_inferenceexecutionconfig.go new file mode 100644 index 0000000000..2ae3b60d26 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-model_inferenceexecutionconfig.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Model_InferenceExecutionConfig AWS CloudFormation Resource (AWS::SageMaker::Model.InferenceExecutionConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-inferenceexecutionconfig.html +type Model_InferenceExecutionConfig struct { + + // Mode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-inferenceexecutionconfig.html#cfn-sagemaker-model-inferenceexecutionconfig-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 *Model_InferenceExecutionConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Model.InferenceExecutionConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-model_multimodelconfig.go b/cloudformation/sagemaker/aws-sagemaker-model_multimodelconfig.go new file mode 100644 index 0000000000..81ce686764 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-model_multimodelconfig.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Model_MultiModelConfig AWS CloudFormation Resource (AWS::SageMaker::Model.MultiModelConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-multimodelconfig.html +type Model_MultiModelConfig struct { + + // ModelCacheSetting AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-multimodelconfig.html#cfn-sagemaker-model-containerdefinition-multimodelconfig-modelcachesetting + ModelCacheSetting string `json:"ModelCacheSetting,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Model_MultiModelConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Model.MultiModelConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition.go new file mode 100644 index 0000000000..fd096bfb71 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition.go @@ -0,0 +1,152 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// ModelBiasJobDefinition AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html +type ModelBiasJobDefinition struct { + + // JobDefinitionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-jobdefinitionname + JobDefinitionName string `json:"JobDefinitionName,omitempty"` + + // JobResources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-jobresources + JobResources *ModelBiasJobDefinition_MonitoringResources `json:"JobResources,omitempty"` + + // ModelBiasAppSpecification AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification + ModelBiasAppSpecification *ModelBiasJobDefinition_ModelBiasAppSpecification `json:"ModelBiasAppSpecification,omitempty"` + + // ModelBiasBaselineConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig + ModelBiasBaselineConfig *ModelBiasJobDefinition_ModelBiasBaselineConfig `json:"ModelBiasBaselineConfig,omitempty"` + + // ModelBiasJobInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput + ModelBiasJobInput *ModelBiasJobDefinition_ModelBiasJobInput `json:"ModelBiasJobInput,omitempty"` + + // ModelBiasJobOutputConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasjoboutputconfig + ModelBiasJobOutputConfig *ModelBiasJobDefinition_MonitoringOutputConfig `json:"ModelBiasJobOutputConfig,omitempty"` + + // NetworkConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-networkconfig + NetworkConfig *ModelBiasJobDefinition_NetworkConfig `json:"NetworkConfig,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // StoppingCondition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-stoppingcondition + StoppingCondition *ModelBiasJobDefinition_StoppingCondition `json:"StoppingCondition,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html#cfn-sagemaker-modelbiasjobdefinition-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 *ModelBiasJobDefinition) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition" +} + +// 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 ModelBiasJobDefinition) MarshalJSON() ([]byte, error) { + type Properties ModelBiasJobDefinition + return json.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 *ModelBiasJobDefinition) UnmarshalJSON(b []byte) error { + type Properties ModelBiasJobDefinition + 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 = ModelBiasJobDefinition(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_clusterconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_clusterconfig.go new file mode 100644 index 0000000000..631e372ae6 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_clusterconfig.go @@ -0,0 +1,50 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_ClusterConfig AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig.html +type ModelBiasJobDefinition_ClusterConfig struct { + + // InstanceCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig.html#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-instancecount + InstanceCount int `json:"InstanceCount"` + + // InstanceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig.html#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // VolumeKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig.html#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-volumekmskeyid + VolumeKmsKeyId string `json:"VolumeKmsKeyId,omitempty"` + + // VolumeSizeInGB AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig.html#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-volumesizeingb + VolumeSizeInGB int `json:"VolumeSizeInGB"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_ClusterConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_constraintsresource.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_constraintsresource.go new file mode 100644 index 0000000000..d118aa8de7 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_constraintsresource.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_ConstraintsResource AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-constraintsresource.html +type ModelBiasJobDefinition_ConstraintsResource struct { + + // S3Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-constraintsresource.html#cfn-sagemaker-modelbiasjobdefinition-constraintsresource-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_ConstraintsResource) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_endpointinput.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_endpointinput.go new file mode 100644 index 0000000000..5292322464 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_endpointinput.go @@ -0,0 +1,80 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_EndpointInput AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.EndpointInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html +type ModelBiasJobDefinition_EndpointInput struct { + + // EndTimeOffset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-endtimeoffset + EndTimeOffset string `json:"EndTimeOffset,omitempty"` + + // EndpointName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-endpointname + EndpointName string `json:"EndpointName,omitempty"` + + // FeaturesAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-featuresattribute + FeaturesAttribute string `json:"FeaturesAttribute,omitempty"` + + // InferenceAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-inferenceattribute + InferenceAttribute string `json:"InferenceAttribute,omitempty"` + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // ProbabilityAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilityattribute + ProbabilityAttribute string `json:"ProbabilityAttribute,omitempty"` + + // ProbabilityThresholdAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilitythresholdattribute + ProbabilityThresholdAttribute float64 `json:"ProbabilityThresholdAttribute,omitempty"` + + // S3DataDistributionType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3datadistributiontype + S3DataDistributionType string `json:"S3DataDistributionType,omitempty"` + + // S3InputMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3inputmode + S3InputMode string `json:"S3InputMode,omitempty"` + + // StartTimeOffset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.html#cfn-sagemaker-modelbiasjobdefinition-endpointinput-starttimeoffset + StartTimeOffset string `json:"StartTimeOffset,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_EndpointInput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_environment.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_environment.go new file mode 100644 index 0000000000..785b8c63ab --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_environment.go @@ -0,0 +1,30 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_Environment AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-environment.html +type ModelBiasJobDefinition_Environment struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_Environment) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.Environment" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go new file mode 100644 index 0000000000..83e62ea0ac --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasappspecification.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_ModelBiasAppSpecification AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification.html +type ModelBiasJobDefinition_ModelBiasAppSpecification struct { + + // ConfigUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-configuri + ConfigUri string `json:"ConfigUri,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-environment + Environment *ModelBiasJobDefinition_Environment `json:"Environment,omitempty"` + + // ImageUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-imageuri + ImageUri string `json:"ImageUri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_ModelBiasAppSpecification) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasbaselineconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasbaselineconfig.go new file mode 100644 index 0000000000..88d77befc9 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasbaselineconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_ModelBiasBaselineConfig AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig.html +type ModelBiasJobDefinition_ModelBiasBaselineConfig struct { + + // BaseliningJobName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-baseliningjobname + BaseliningJobName string `json:"BaseliningJobName,omitempty"` + + // ConstraintsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-constraintsresource + ConstraintsResource *ModelBiasJobDefinition_ConstraintsResource `json:"ConstraintsResource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_ModelBiasBaselineConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasjobinput.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasjobinput.go new file mode 100644 index 0000000000..f5904ac117 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_modelbiasjobinput.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_ModelBiasJobInput AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasjobinput.html +type ModelBiasJobDefinition_ModelBiasJobInput struct { + + // EndpointInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasjobinput.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-endpointinput + EndpointInput *ModelBiasJobDefinition_EndpointInput `json:"EndpointInput,omitempty"` + + // GroundTruthS3Input AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-modelbiasjobinput.html#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-groundtruths3input + GroundTruthS3Input *ModelBiasJobDefinition_MonitoringGroundTruthS3Input `json:"GroundTruthS3Input,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_ModelBiasJobInput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringgroundtruths3input.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringgroundtruths3input.go new file mode 100644 index 0000000000..fdaf4e80e8 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringgroundtruths3input.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_MonitoringGroundTruthS3Input AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input.html +type ModelBiasJobDefinition_MonitoringGroundTruthS3Input struct { + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input.html#cfn-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_MonitoringGroundTruthS3Input) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutput.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutput.go new file mode 100644 index 0000000000..4b154b622f --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_MonitoringOutput AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutput.html +type ModelBiasJobDefinition_MonitoringOutput struct { + + // S3Output AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutput.html#cfn-sagemaker-modelbiasjobdefinition-monitoringoutput-s3output + S3Output *ModelBiasJobDefinition_S3Output `json:"S3Output,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_MonitoringOutput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutputconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutputconfig.go new file mode 100644 index 0000000000..a5daafcfa9 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringoutputconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_MonitoringOutputConfig AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutputconfig.html +type ModelBiasJobDefinition_MonitoringOutputConfig struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // MonitoringOutputs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-monitoringoutputs + MonitoringOutputs []ModelBiasJobDefinition_MonitoringOutput `json:"MonitoringOutputs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_MonitoringOutputConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringresources.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringresources.go new file mode 100644 index 0000000000..674033738d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_monitoringresources.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_MonitoringResources AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringresources.html +type ModelBiasJobDefinition_MonitoringResources struct { + + // ClusterConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-monitoringresources.html#cfn-sagemaker-modelbiasjobdefinition-monitoringresources-clusterconfig + ClusterConfig *ModelBiasJobDefinition_ClusterConfig `json:"ClusterConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_MonitoringResources) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_networkconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_networkconfig.go new file mode 100644 index 0000000000..43c10004f4 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_networkconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_NetworkConfig AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-networkconfig.html +type ModelBiasJobDefinition_NetworkConfig struct { + + // EnableInterContainerTrafficEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-networkconfig.html#cfn-sagemaker-modelbiasjobdefinition-networkconfig-enableintercontainertrafficencryption + EnableInterContainerTrafficEncryption bool `json:"EnableInterContainerTrafficEncryption,omitempty"` + + // EnableNetworkIsolation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-networkconfig.html#cfn-sagemaker-modelbiasjobdefinition-networkconfig-enablenetworkisolation + EnableNetworkIsolation bool `json:"EnableNetworkIsolation,omitempty"` + + // VpcConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-networkconfig.html#cfn-sagemaker-modelbiasjobdefinition-networkconfig-vpcconfig + VpcConfig *ModelBiasJobDefinition_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 *ModelBiasJobDefinition_NetworkConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_s3output.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_s3output.go new file mode 100644 index 0000000000..4700ab0dfe --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_s3output.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_S3Output AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.S3Output) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-s3output.html +type ModelBiasJobDefinition_S3Output struct { + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-s3output.html#cfn-sagemaker-modelbiasjobdefinition-s3output-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // S3UploadMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-s3output.html#cfn-sagemaker-modelbiasjobdefinition-s3output-s3uploadmode + S3UploadMode string `json:"S3UploadMode,omitempty"` + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-s3output.html#cfn-sagemaker-modelbiasjobdefinition-s3output-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_S3Output) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.S3Output" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_stoppingcondition.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_stoppingcondition.go new file mode 100644 index 0000000000..a3bca32a50 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_stoppingcondition.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_StoppingCondition AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-stoppingcondition.html +type ModelBiasJobDefinition_StoppingCondition struct { + + // MaxRuntimeInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-stoppingcondition.html#cfn-sagemaker-modelbiasjobdefinition-stoppingcondition-maxruntimeinseconds + MaxRuntimeInSeconds int `json:"MaxRuntimeInSeconds"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_StoppingCondition) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_vpcconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_vpcconfig.go new file mode 100644 index 0000000000..3735e78017 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelbiasjobdefinition_vpcconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelBiasJobDefinition_VpcConfig AWS CloudFormation Resource (AWS::SageMaker::ModelBiasJobDefinition.VpcConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-vpcconfig.html +type ModelBiasJobDefinition_VpcConfig struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-vpcconfig.html#cfn-sagemaker-modelbiasjobdefinition-vpcconfig-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // Subnets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelbiasjobdefinition-vpcconfig.html#cfn-sagemaker-modelbiasjobdefinition-vpcconfig-subnets + Subnets []string `json:"Subnets,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelBiasJobDefinition_VpcConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition.go new file mode 100644 index 0000000000..a470434312 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition.go @@ -0,0 +1,152 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// ModelExplainabilityJobDefinition AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html +type ModelExplainabilityJobDefinition struct { + + // JobDefinitionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-jobdefinitionname + JobDefinitionName string `json:"JobDefinitionName,omitempty"` + + // JobResources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-jobresources + JobResources *ModelExplainabilityJobDefinition_MonitoringResources `json:"JobResources,omitempty"` + + // ModelExplainabilityAppSpecification AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification + ModelExplainabilityAppSpecification *ModelExplainabilityJobDefinition_ModelExplainabilityAppSpecification `json:"ModelExplainabilityAppSpecification,omitempty"` + + // ModelExplainabilityBaselineConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig + ModelExplainabilityBaselineConfig *ModelExplainabilityJobDefinition_ModelExplainabilityBaselineConfig `json:"ModelExplainabilityBaselineConfig,omitempty"` + + // ModelExplainabilityJobInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput + ModelExplainabilityJobInput *ModelExplainabilityJobDefinition_ModelExplainabilityJobInput `json:"ModelExplainabilityJobInput,omitempty"` + + // ModelExplainabilityJobOutputConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjoboutputconfig + ModelExplainabilityJobOutputConfig *ModelExplainabilityJobDefinition_MonitoringOutputConfig `json:"ModelExplainabilityJobOutputConfig,omitempty"` + + // NetworkConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig + NetworkConfig *ModelExplainabilityJobDefinition_NetworkConfig `json:"NetworkConfig,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // StoppingCondition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition + StoppingCondition *ModelExplainabilityJobDefinition_StoppingCondition `json:"StoppingCondition,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html#cfn-sagemaker-modelexplainabilityjobdefinition-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 *ModelExplainabilityJobDefinition) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition" +} + +// 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 ModelExplainabilityJobDefinition) MarshalJSON() ([]byte, error) { + type Properties ModelExplainabilityJobDefinition + return json.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 *ModelExplainabilityJobDefinition) UnmarshalJSON(b []byte) error { + type Properties ModelExplainabilityJobDefinition + 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 = ModelExplainabilityJobDefinition(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_clusterconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_clusterconfig.go new file mode 100644 index 0000000000..f821c5dfd0 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_clusterconfig.go @@ -0,0 +1,50 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_ClusterConfig AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig.html +type ModelExplainabilityJobDefinition_ClusterConfig struct { + + // InstanceCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-instancecount + InstanceCount int `json:"InstanceCount"` + + // InstanceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // VolumeKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-volumekmskeyid + VolumeKmsKeyId string `json:"VolumeKmsKeyId,omitempty"` + + // VolumeSizeInGB AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-volumesizeingb + VolumeSizeInGB int `json:"VolumeSizeInGB"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_ClusterConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_constraintsresource.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_constraintsresource.go new file mode 100644 index 0000000000..c7cfca5c69 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_constraintsresource.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_ConstraintsResource AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource.html +type ModelExplainabilityJobDefinition_ConstraintsResource struct { + + // S3Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource.html#cfn-sagemaker-modelexplainabilityjobdefinition-constraintsresource-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_ConstraintsResource) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_endpointinput.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_endpointinput.go new file mode 100644 index 0000000000..ace0c9ed79 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_endpointinput.go @@ -0,0 +1,65 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_EndpointInput AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html +type ModelExplainabilityJobDefinition_EndpointInput struct { + + // EndpointName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-endpointname + EndpointName string `json:"EndpointName,omitempty"` + + // FeaturesAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-featuresattribute + FeaturesAttribute string `json:"FeaturesAttribute,omitempty"` + + // InferenceAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-inferenceattribute + InferenceAttribute string `json:"InferenceAttribute,omitempty"` + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // ProbabilityAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-probabilityattribute + ProbabilityAttribute string `json:"ProbabilityAttribute,omitempty"` + + // S3DataDistributionType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3datadistributiontype + S3DataDistributionType string `json:"S3DataDistributionType,omitempty"` + + // S3InputMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3inputmode + S3InputMode string `json:"S3InputMode,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_EndpointInput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_environment.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_environment.go new file mode 100644 index 0000000000..20e54cabc3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_environment.go @@ -0,0 +1,30 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_Environment AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-environment.html +type ModelExplainabilityJobDefinition_Environment struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_Environment) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go new file mode 100644 index 0000000000..f231a9cbb1 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityappspecification.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_ModelExplainabilityAppSpecification AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification.html +type ModelExplainabilityJobDefinition_ModelExplainabilityAppSpecification struct { + + // ConfigUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-configuri + ConfigUri string `json:"ConfigUri,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-environment + Environment *ModelExplainabilityJobDefinition_Environment `json:"Environment,omitempty"` + + // ImageUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-imageuri + ImageUri string `json:"ImageUri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_ModelExplainabilityAppSpecification) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilitybaselineconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilitybaselineconfig.go new file mode 100644 index 0000000000..905d077a29 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilitybaselineconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_ModelExplainabilityBaselineConfig AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig.html +type ModelExplainabilityJobDefinition_ModelExplainabilityBaselineConfig struct { + + // BaseliningJobName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-baseliningjobname + BaseliningJobName string `json:"BaseliningJobName,omitempty"` + + // ConstraintsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-constraintsresource + ConstraintsResource *ModelExplainabilityJobDefinition_ConstraintsResource `json:"ConstraintsResource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_ModelExplainabilityBaselineConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityjobinput.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityjobinput.go new file mode 100644 index 0000000000..03d1a68ded --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_modelexplainabilityjobinput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_ModelExplainabilityJobInput AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput.html +type ModelExplainabilityJobDefinition_ModelExplainabilityJobInput struct { + + // EndpointInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput.html#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-endpointinput + EndpointInput *ModelExplainabilityJobDefinition_EndpointInput `json:"EndpointInput,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_ModelExplainabilityJobInput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutput.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutput.go new file mode 100644 index 0000000000..34fc40376d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_MonitoringOutput AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput.html +type ModelExplainabilityJobDefinition_MonitoringOutput struct { + + // S3Output AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput.html#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-s3output + S3Output *ModelExplainabilityJobDefinition_S3Output `json:"S3Output,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_MonitoringOutput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutputconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutputconfig.go new file mode 100644 index 0000000000..93e1e152e3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringoutputconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_MonitoringOutputConfig AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig.html +type ModelExplainabilityJobDefinition_MonitoringOutputConfig struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // MonitoringOutputs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-monitoringoutputs + MonitoringOutputs []ModelExplainabilityJobDefinition_MonitoringOutput `json:"MonitoringOutputs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_MonitoringOutputConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringresources.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringresources.go new file mode 100644 index 0000000000..156b2782ee --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_monitoringresources.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_MonitoringResources AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources.html +type ModelExplainabilityJobDefinition_MonitoringResources struct { + + // ClusterConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources.html#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringresources-clusterconfig + ClusterConfig *ModelExplainabilityJobDefinition_ClusterConfig `json:"ClusterConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_MonitoringResources) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_networkconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_networkconfig.go new file mode 100644 index 0000000000..36b39c4cda --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_networkconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_NetworkConfig AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig.html +type ModelExplainabilityJobDefinition_NetworkConfig struct { + + // EnableInterContainerTrafficEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enableintercontainertrafficencryption + EnableInterContainerTrafficEncryption bool `json:"EnableInterContainerTrafficEncryption,omitempty"` + + // EnableNetworkIsolation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enablenetworkisolation + EnableNetworkIsolation bool `json:"EnableNetworkIsolation,omitempty"` + + // VpcConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-vpcconfig + VpcConfig *ModelExplainabilityJobDefinition_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 *ModelExplainabilityJobDefinition_NetworkConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_s3output.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_s3output.go new file mode 100644 index 0000000000..d17c0a6d2b --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_s3output.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_S3Output AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output.html +type ModelExplainabilityJobDefinition_S3Output struct { + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output.html#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // S3UploadMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output.html#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-s3uploadmode + S3UploadMode string `json:"S3UploadMode,omitempty"` + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output.html#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_S3Output) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_stoppingcondition.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_stoppingcondition.go new file mode 100644 index 0000000000..95b3db669d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_stoppingcondition.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_StoppingCondition AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition.html +type ModelExplainabilityJobDefinition_StoppingCondition struct { + + // MaxRuntimeInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition.html#cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-maxruntimeinseconds + MaxRuntimeInSeconds int `json:"MaxRuntimeInSeconds"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_StoppingCondition) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_vpcconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_vpcconfig.go new file mode 100644 index 0000000000..56719cd7f4 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelexplainabilityjobdefinition_vpcconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelExplainabilityJobDefinition_VpcConfig AWS CloudFormation Resource (AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig.html +type ModelExplainabilityJobDefinition_VpcConfig struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // Subnets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig.html#cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-subnets + Subnets []string `json:"Subnets,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelExplainabilityJobDefinition_VpcConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelpackagegroup.go b/cloudformation/sagemaker/aws-sagemaker-modelpackagegroup.go new file mode 100644 index 0000000000..28ac75d249 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelpackagegroup.go @@ -0,0 +1,122 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// ModelPackageGroup AWS CloudFormation Resource (AWS::SageMaker::ModelPackageGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html +type ModelPackageGroup struct { + + // ModelPackageGroupDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html#cfn-sagemaker-modelpackagegroup-modelpackagegroupdescription + ModelPackageGroupDescription string `json:"ModelPackageGroupDescription,omitempty"` + + // ModelPackageGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html#cfn-sagemaker-modelpackagegroup-modelpackagegroupname + ModelPackageGroupName string `json:"ModelPackageGroupName,omitempty"` + + // ModelPackageGroupPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html#cfn-sagemaker-modelpackagegroup-modelpackagegrouppolicy + ModelPackageGroupPolicy interface{} `json:"ModelPackageGroupPolicy,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html#cfn-sagemaker-modelpackagegroup-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 *ModelPackageGroup) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelPackageGroup" +} + +// 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 ModelPackageGroup) MarshalJSON() ([]byte, error) { + type Properties ModelPackageGroup + return json.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 *ModelPackageGroup) UnmarshalJSON(b []byte) error { + type Properties ModelPackageGroup + 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 = ModelPackageGroup(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition.go new file mode 100644 index 0000000000..6bd51c51c0 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition.go @@ -0,0 +1,152 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// ModelQualityJobDefinition AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html +type ModelQualityJobDefinition struct { + + // JobDefinitionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-jobdefinitionname + JobDefinitionName string `json:"JobDefinitionName,omitempty"` + + // JobResources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-jobresources + JobResources *ModelQualityJobDefinition_MonitoringResources `json:"JobResources,omitempty"` + + // ModelQualityAppSpecification AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification + ModelQualityAppSpecification *ModelQualityJobDefinition_ModelQualityAppSpecification `json:"ModelQualityAppSpecification,omitempty"` + + // ModelQualityBaselineConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig + ModelQualityBaselineConfig *ModelQualityJobDefinition_ModelQualityBaselineConfig `json:"ModelQualityBaselineConfig,omitempty"` + + // ModelQualityJobInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput + ModelQualityJobInput *ModelQualityJobDefinition_ModelQualityJobInput `json:"ModelQualityJobInput,omitempty"` + + // ModelQualityJobOutputConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityjoboutputconfig + ModelQualityJobOutputConfig *ModelQualityJobDefinition_MonitoringOutputConfig `json:"ModelQualityJobOutputConfig,omitempty"` + + // NetworkConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-networkconfig + NetworkConfig *ModelQualityJobDefinition_NetworkConfig `json:"NetworkConfig,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // StoppingCondition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-stoppingcondition + StoppingCondition *ModelQualityJobDefinition_StoppingCondition `json:"StoppingCondition,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html#cfn-sagemaker-modelqualityjobdefinition-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 *ModelQualityJobDefinition) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition" +} + +// 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 ModelQualityJobDefinition) MarshalJSON() ([]byte, error) { + type Properties ModelQualityJobDefinition + return json.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 *ModelQualityJobDefinition) UnmarshalJSON(b []byte) error { + type Properties ModelQualityJobDefinition + 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 = ModelQualityJobDefinition(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_clusterconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_clusterconfig.go new file mode 100644 index 0000000000..baf93cf330 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_clusterconfig.go @@ -0,0 +1,50 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_ClusterConfig AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig.html +type ModelQualityJobDefinition_ClusterConfig struct { + + // InstanceCount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig.html#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-instancecount + InstanceCount int `json:"InstanceCount"` + + // InstanceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig.html#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // VolumeKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig.html#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-volumekmskeyid + VolumeKmsKeyId string `json:"VolumeKmsKeyId,omitempty"` + + // VolumeSizeInGB AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig.html#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-volumesizeingb + VolumeSizeInGB int `json:"VolumeSizeInGB"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_ClusterConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_constraintsresource.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_constraintsresource.go new file mode 100644 index 0000000000..ba773893d8 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_constraintsresource.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_ConstraintsResource AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource.html +type ModelQualityJobDefinition_ConstraintsResource struct { + + // S3Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource.html#cfn-sagemaker-modelqualityjobdefinition-constraintsresource-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_ConstraintsResource) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_endpointinput.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_endpointinput.go new file mode 100644 index 0000000000..1b95f476e6 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_endpointinput.go @@ -0,0 +1,75 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_EndpointInput AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.EndpointInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html +type ModelQualityJobDefinition_EndpointInput struct { + + // EndTimeOffset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-endtimeoffset + EndTimeOffset string `json:"EndTimeOffset,omitempty"` + + // EndpointName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-endpointname + EndpointName string `json:"EndpointName,omitempty"` + + // InferenceAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-inferenceattribute + InferenceAttribute string `json:"InferenceAttribute,omitempty"` + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // ProbabilityAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilityattribute + ProbabilityAttribute string `json:"ProbabilityAttribute,omitempty"` + + // ProbabilityThresholdAttribute AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilitythresholdattribute + ProbabilityThresholdAttribute float64 `json:"ProbabilityThresholdAttribute,omitempty"` + + // S3DataDistributionType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3datadistributiontype + S3DataDistributionType string `json:"S3DataDistributionType,omitempty"` + + // S3InputMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3inputmode + S3InputMode string `json:"S3InputMode,omitempty"` + + // StartTimeOffset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.html#cfn-sagemaker-modelqualityjobdefinition-endpointinput-starttimeoffset + StartTimeOffset string `json:"StartTimeOffset,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_EndpointInput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_environment.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_environment.go new file mode 100644 index 0000000000..eeb4e58166 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_environment.go @@ -0,0 +1,30 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_Environment AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-environment.html +type ModelQualityJobDefinition_Environment struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_Environment) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.Environment" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go new file mode 100644 index 0000000000..d4da34de4d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityappspecification.go @@ -0,0 +1,65 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_ModelQualityAppSpecification AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html +type ModelQualityJobDefinition_ModelQualityAppSpecification struct { + + // ContainerArguments AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerarguments + ContainerArguments []string `json:"ContainerArguments,omitempty"` + + // ContainerEntrypoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerentrypoint + ContainerEntrypoint []string `json:"ContainerEntrypoint,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-environment + Environment *ModelQualityJobDefinition_Environment `json:"Environment,omitempty"` + + // ImageUri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-imageuri + ImageUri string `json:"ImageUri,omitempty"` + + // PostAnalyticsProcessorSourceUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-postanalyticsprocessorsourceuri + PostAnalyticsProcessorSourceUri string `json:"PostAnalyticsProcessorSourceUri,omitempty"` + + // ProblemType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-problemtype + ProblemType string `json:"ProblemType,omitempty"` + + // RecordPreprocessorSourceUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-recordpreprocessorsourceuri + RecordPreprocessorSourceUri string `json:"RecordPreprocessorSourceUri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_ModelQualityAppSpecification) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualitybaselineconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualitybaselineconfig.go new file mode 100644 index 0000000000..e52c0d56f8 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualitybaselineconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_ModelQualityBaselineConfig AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig.html +type ModelQualityJobDefinition_ModelQualityBaselineConfig struct { + + // BaseliningJobName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig.html#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-baseliningjobname + BaseliningJobName string `json:"BaseliningJobName,omitempty"` + + // ConstraintsResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig.html#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-constraintsresource + ConstraintsResource *ModelQualityJobDefinition_ConstraintsResource `json:"ConstraintsResource,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_ModelQualityBaselineConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityjobinput.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityjobinput.go new file mode 100644 index 0000000000..95eca30da8 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_modelqualityjobinput.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_ModelQualityJobInput AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput.html +type ModelQualityJobDefinition_ModelQualityJobInput struct { + + // EndpointInput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-endpointinput + EndpointInput *ModelQualityJobDefinition_EndpointInput `json:"EndpointInput,omitempty"` + + // GroundTruthS3Input AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput.html#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-groundtruths3input + GroundTruthS3Input *ModelQualityJobDefinition_MonitoringGroundTruthS3Input `json:"GroundTruthS3Input,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_ModelQualityJobInput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringgroundtruths3input.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringgroundtruths3input.go new file mode 100644 index 0000000000..01b579c38c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringgroundtruths3input.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_MonitoringGroundTruthS3Input AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input.html +type ModelQualityJobDefinition_MonitoringGroundTruthS3Input struct { + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input.html#cfn-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_MonitoringGroundTruthS3Input) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutput.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutput.go new file mode 100644 index 0000000000..f5b24f0411 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutput.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_MonitoringOutput AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput.html +type ModelQualityJobDefinition_MonitoringOutput struct { + + // S3Output AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput.html#cfn-sagemaker-modelqualityjobdefinition-monitoringoutput-s3output + S3Output *ModelQualityJobDefinition_S3Output `json:"S3Output,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_MonitoringOutput) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutputconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutputconfig.go new file mode 100644 index 0000000000..95c436f6a2 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringoutputconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_MonitoringOutputConfig AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig.html +type ModelQualityJobDefinition_MonitoringOutputConfig struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // MonitoringOutputs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig.html#cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-monitoringoutputs + MonitoringOutputs []ModelQualityJobDefinition_MonitoringOutput `json:"MonitoringOutputs,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_MonitoringOutputConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringresources.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringresources.go new file mode 100644 index 0000000000..2c8c0e08a7 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_monitoringresources.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_MonitoringResources AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources.html +type ModelQualityJobDefinition_MonitoringResources struct { + + // ClusterConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources.html#cfn-sagemaker-modelqualityjobdefinition-monitoringresources-clusterconfig + ClusterConfig *ModelQualityJobDefinition_ClusterConfig `json:"ClusterConfig,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_MonitoringResources) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_networkconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_networkconfig.go new file mode 100644 index 0000000000..1bac6bc1cf --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_networkconfig.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_NetworkConfig AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-networkconfig.html +type ModelQualityJobDefinition_NetworkConfig struct { + + // EnableInterContainerTrafficEncryption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-networkconfig.html#cfn-sagemaker-modelqualityjobdefinition-networkconfig-enableintercontainertrafficencryption + EnableInterContainerTrafficEncryption bool `json:"EnableInterContainerTrafficEncryption,omitempty"` + + // EnableNetworkIsolation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-networkconfig.html#cfn-sagemaker-modelqualityjobdefinition-networkconfig-enablenetworkisolation + EnableNetworkIsolation bool `json:"EnableNetworkIsolation,omitempty"` + + // VpcConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-networkconfig.html#cfn-sagemaker-modelqualityjobdefinition-networkconfig-vpcconfig + VpcConfig *ModelQualityJobDefinition_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 *ModelQualityJobDefinition_NetworkConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_s3output.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_s3output.go new file mode 100644 index 0000000000..d1e3811a3a --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_s3output.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_S3Output AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.S3Output) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-s3output.html +type ModelQualityJobDefinition_S3Output struct { + + // LocalPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-s3output.html#cfn-sagemaker-modelqualityjobdefinition-s3output-localpath + LocalPath string `json:"LocalPath,omitempty"` + + // S3UploadMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-s3output.html#cfn-sagemaker-modelqualityjobdefinition-s3output-s3uploadmode + S3UploadMode string `json:"S3UploadMode,omitempty"` + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-s3output.html#cfn-sagemaker-modelqualityjobdefinition-s3output-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_S3Output) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.S3Output" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_stoppingcondition.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_stoppingcondition.go new file mode 100644 index 0000000000..69a4c0222a --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_stoppingcondition.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_StoppingCondition AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition.html +type ModelQualityJobDefinition_StoppingCondition struct { + + // MaxRuntimeInSeconds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition.html#cfn-sagemaker-modelqualityjobdefinition-stoppingcondition-maxruntimeinseconds + MaxRuntimeInSeconds int `json:"MaxRuntimeInSeconds"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_StoppingCondition) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_vpcconfig.go b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_vpcconfig.go new file mode 100644 index 0000000000..58489682e3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-modelqualityjobdefinition_vpcconfig.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ModelQualityJobDefinition_VpcConfig AWS CloudFormation Resource (AWS::SageMaker::ModelQualityJobDefinition.VpcConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig.html +type ModelQualityJobDefinition_VpcConfig struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig.html#cfn-sagemaker-modelqualityjobdefinition-vpcconfig-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // Subnets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig.html#cfn-sagemaker-modelqualityjobdefinition-vpcconfig-subnets + Subnets []string `json:"Subnets,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ModelQualityJobDefinition_VpcConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go index 0190997cca..dc0d4c065b 100644 --- a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule.go @@ -13,11 +13,6 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html type MonitoringSchedule struct { - // CreationTime AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-creationtime - CreationTime string `json:"CreationTime,omitempty"` - // EndpointName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-endpointname @@ -28,21 +23,11 @@ type MonitoringSchedule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-failurereason FailureReason string `json:"FailureReason,omitempty"` - // LastModifiedTime AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-lastmodifiedtime - LastModifiedTime string `json:"LastModifiedTime,omitempty"` - // LastMonitoringExecutionSummary AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-lastmonitoringexecutionsummary LastMonitoringExecutionSummary *MonitoringSchedule_MonitoringExecutionSummary `json:"LastMonitoringExecutionSummary,omitempty"` - // MonitoringScheduleArn AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringschedulearn - MonitoringScheduleArn string `json:"MonitoringScheduleArn,omitempty"` - // MonitoringScheduleConfig AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig diff --git a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go index 6d6f159967..40ef2061a4 100644 --- a/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-monitoringschedule_monitoringscheduleconfig.go @@ -9,10 +9,20 @@ import ( type MonitoringSchedule_MonitoringScheduleConfig struct { // MonitoringJobDefinition AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinition MonitoringJobDefinition *MonitoringSchedule_MonitoringJobDefinition `json:"MonitoringJobDefinition,omitempty"` + // MonitoringJobDefinitionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinitionname + MonitoringJobDefinitionName string `json:"MonitoringJobDefinitionName,omitempty"` + + // MonitoringType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringtype + MonitoringType string `json:"MonitoringType,omitempty"` + // ScheduleConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-scheduleconfig diff --git a/cloudformation/sagemaker/aws-sagemaker-pipeline.go b/cloudformation/sagemaker/aws-sagemaker-pipeline.go new file mode 100644 index 0000000000..dbca730eac --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-pipeline.go @@ -0,0 +1,132 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Pipeline AWS CloudFormation Resource (AWS::SageMaker::Pipeline) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html +type Pipeline struct { + + // PipelineDefinition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html#cfn-sagemaker-pipeline-pipelinedefinition + PipelineDefinition interface{} `json:"PipelineDefinition,omitempty"` + + // PipelineDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html#cfn-sagemaker-pipeline-pipelinedescription + PipelineDescription string `json:"PipelineDescription,omitempty"` + + // PipelineDisplayName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html#cfn-sagemaker-pipeline-pipelinedisplayname + PipelineDisplayName string `json:"PipelineDisplayName,omitempty"` + + // PipelineName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html#cfn-sagemaker-pipeline-pipelinename + PipelineName string `json:"PipelineName,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html#cfn-sagemaker-pipeline-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html#cfn-sagemaker-pipeline-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 *Pipeline) AWSCloudFormationType() string { + return "AWS::SageMaker::Pipeline" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Pipeline) UnmarshalJSON(b []byte) error { + type Properties Pipeline + 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 = Pipeline(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-project.go b/cloudformation/sagemaker/aws-sagemaker-project.go new file mode 100644 index 0000000000..1a37218d2b --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-project.go @@ -0,0 +1,122 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// Project AWS CloudFormation Resource (AWS::SageMaker::Project) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html +type Project struct { + + // ProjectDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html#cfn-sagemaker-project-projectdescription + ProjectDescription string `json:"ProjectDescription,omitempty"` + + // ProjectName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html#cfn-sagemaker-project-projectname + ProjectName string `json:"ProjectName,omitempty"` + + // ServiceCatalogProvisioningDetails AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html#cfn-sagemaker-project-servicecatalogprovisioningdetails + ServiceCatalogProvisioningDetails interface{} `json:"ServiceCatalogProvisioningDetails,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html#cfn-sagemaker-project-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 *Project) AWSCloudFormationType() string { + return "AWS::SageMaker::Project" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *Project) UnmarshalJSON(b []byte) error { + type Properties Project + 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 = Project(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile.go b/cloudformation/sagemaker/aws-sagemaker-userprofile.go new file mode 100644 index 0000000000..1568c48ba4 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile.go @@ -0,0 +1,132 @@ +package sagemaker + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// UserProfile AWS CloudFormation Resource (AWS::SageMaker::UserProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html +type UserProfile struct { + + // DomainId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html#cfn-sagemaker-userprofile-domainid + DomainId string `json:"DomainId,omitempty"` + + // SingleSignOnUserIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html#cfn-sagemaker-userprofile-singlesignonuseridentifier + SingleSignOnUserIdentifier string `json:"SingleSignOnUserIdentifier,omitempty"` + + // SingleSignOnUserValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html#cfn-sagemaker-userprofile-singlesignonuservalue + SingleSignOnUserValue string `json:"SingleSignOnUserValue,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html#cfn-sagemaker-userprofile-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // UserProfileName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html#cfn-sagemaker-userprofile-userprofilename + UserProfileName string `json:"UserProfileName,omitempty"` + + // UserSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html#cfn-sagemaker-userprofile-usersettings + UserSettings *UserProfile_UserSettings `json:"UserSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserProfile) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile" +} + +// 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 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"` + UpdateReplacePolicy policies.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 *UserProfile) UnmarshalJSON(b []byte) error { + type Properties UserProfile + 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 = UserProfile(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_customimage.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_customimage.go new file mode 100644 index 0000000000..fdbf9a9827 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_customimage.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserProfile_CustomImage AWS CloudFormation Resource (AWS::SageMaker::UserProfile.CustomImage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customimage.html +type UserProfile_CustomImage struct { + + // AppImageConfigName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customimage.html#cfn-sagemaker-userprofile-customimage-appimageconfigname + AppImageConfigName string `json:"AppImageConfigName,omitempty"` + + // ImageName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customimage.html#cfn-sagemaker-userprofile-customimage-imagename + ImageName string `json:"ImageName,omitempty"` + + // ImageVersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customimage.html#cfn-sagemaker-userprofile-customimage-imageversionnumber + ImageVersionNumber int `json:"ImageVersionNumber,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserProfile_CustomImage) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.CustomImage" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_jupyterserverappsettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_jupyterserverappsettings.go new file mode 100644 index 0000000000..9bb4bdb28c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_jupyterserverappsettings.go @@ -0,0 +1,35 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserProfile_JupyterServerAppSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.JupyterServerAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterserverappsettings.html +type UserProfile_JupyterServerAppSettings struct { + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterserverappsettings.html#cfn-sagemaker-userprofile-jupyterserverappsettings-defaultresourcespec + DefaultResourceSpec *UserProfile_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserProfile_JupyterServerAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.JupyterServerAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_kernelgatewayappsettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_kernelgatewayappsettings.go new file mode 100644 index 0000000000..e8ce1c1f08 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_kernelgatewayappsettings.go @@ -0,0 +1,40 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserProfile_KernelGatewayAppSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.KernelGatewayAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-kernelgatewayappsettings.html +type UserProfile_KernelGatewayAppSettings struct { + + // CustomImages AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-kernelgatewayappsettings.html#cfn-sagemaker-userprofile-kernelgatewayappsettings-customimages + CustomImages []UserProfile_CustomImage `json:"CustomImages,omitempty"` + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-kernelgatewayappsettings.html#cfn-sagemaker-userprofile-kernelgatewayappsettings-defaultresourcespec + DefaultResourceSpec *UserProfile_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserProfile_KernelGatewayAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.KernelGatewayAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_resourcespec.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_resourcespec.go new file mode 100644 index 0000000000..0c4993b358 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_resourcespec.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserProfile_ResourceSpec AWS CloudFormation Resource (AWS::SageMaker::UserProfile.ResourceSpec) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-resourcespec.html +type UserProfile_ResourceSpec struct { + + // InstanceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-resourcespec.html#cfn-sagemaker-userprofile-resourcespec-instancetype + InstanceType string `json:"InstanceType,omitempty"` + + // SageMakerImageArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-resourcespec.html#cfn-sagemaker-userprofile-resourcespec-sagemakerimagearn + SageMakerImageArn string `json:"SageMakerImageArn,omitempty"` + + // SageMakerImageVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-resourcespec.html#cfn-sagemaker-userprofile-resourcespec-sagemakerimageversionarn + SageMakerImageVersionArn string `json:"SageMakerImageVersionArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserProfile_ResourceSpec) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.ResourceSpec" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_sharingsettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_sharingsettings.go new file mode 100644 index 0000000000..cfed6edcbf --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_sharingsettings.go @@ -0,0 +1,45 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserProfile_SharingSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.SharingSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-sharingsettings.html +type UserProfile_SharingSettings struct { + + // NotebookOutputOption AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-sharingsettings.html#cfn-sagemaker-userprofile-sharingsettings-notebookoutputoption + NotebookOutputOption string `json:"NotebookOutputOption,omitempty"` + + // S3KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-sharingsettings.html#cfn-sagemaker-userprofile-sharingsettings-s3kmskeyid + S3KmsKeyId string `json:"S3KmsKeyId,omitempty"` + + // S3OutputPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-sharingsettings.html#cfn-sagemaker-userprofile-sharingsettings-s3outputpath + S3OutputPath string `json:"S3OutputPath,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserProfile_SharingSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.SharingSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go new file mode 100644 index 0000000000..60d4b909ad --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go @@ -0,0 +1,55 @@ +package sagemaker + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// UserProfile_UserSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.UserSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html +type UserProfile_UserSettings struct { + + // ExecutionRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-executionrole + ExecutionRole string `json:"ExecutionRole,omitempty"` + + // JupyterServerAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-jupyterserverappsettings + JupyterServerAppSettings *UserProfile_JupyterServerAppSettings `json:"JupyterServerAppSettings,omitempty"` + + // KernelGatewayAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-kernelgatewayappsettings + KernelGatewayAppSettings *UserProfile_KernelGatewayAppSettings `json:"KernelGatewayAppSettings,omitempty"` + + // SecurityGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-securitygroups + SecurityGroups []string `json:"SecurityGroups,omitempty"` + + // SharingSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-sharingsettings + SharingSettings *UserProfile_SharingSettings `json:"SharingSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *UserProfile_UserSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.UserSettings" +} diff --git a/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go b/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go index 7f21c1d6b4..2698c6fc97 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-resourcepolicy.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html type ResourcePolicy struct { + // BlockPublicPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html#cfn-secretsmanager-resourcepolicy-blockpublicpolicy + BlockPublicPolicy bool `json:"BlockPublicPolicy,omitempty"` + // ResourcePolicy AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html#cfn-secretsmanager-resourcepolicy-resourcepolicy diff --git a/cloudformation/secretsmanager/aws-secretsmanager-secret.go b/cloudformation/secretsmanager/aws-secretsmanager-secret.go index 2b6130b254..8277f7339f 100644 --- a/cloudformation/secretsmanager/aws-secretsmanager-secret.go +++ b/cloudformation/secretsmanager/aws-secretsmanager-secret.go @@ -33,6 +33,11 @@ type Secret struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-name Name string `json:"Name,omitempty"` + // ReplicaRegions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-replicaregions + ReplicaRegions []Secret_ReplicaRegion `json:"ReplicaRegions,omitempty"` + // SecretString AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-secretstring diff --git a/cloudformation/secretsmanager/aws-secretsmanager-secret_replicaregion.go b/cloudformation/secretsmanager/aws-secretsmanager-secret_replicaregion.go new file mode 100644 index 0000000000..1a52b71405 --- /dev/null +++ b/cloudformation/secretsmanager/aws-secretsmanager-secret_replicaregion.go @@ -0,0 +1,40 @@ +package secretsmanager + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Secret_ReplicaRegion AWS CloudFormation Resource (AWS::SecretsManager::Secret.ReplicaRegion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-replicaregion.html +type Secret_ReplicaRegion struct { + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-replicaregion.html#cfn-secretsmanager-secret-replicaregion-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // Region AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-replicaregion.html#cfn-secretsmanager-secret-replicaregion-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 *Secret_ReplicaRegion) AWSCloudFormationType() string { + return "AWS::SecretsManager::Secret.ReplicaRegion" +} diff --git a/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go b/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go index 5753d98932..1573bafe75 100644 --- a/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go +++ b/cloudformation/servicecatalog/aws-servicecatalog-portfolioshare.go @@ -27,6 +27,11 @@ type PortfolioShare struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html#cfn-servicecatalog-portfolioshare-portfolioid PortfolioId string `json:"PortfolioId,omitempty"` + // ShareTagOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html#cfn-servicecatalog-portfolioshare-sharetagoptions + ShareTagOptions bool `json:"ShareTagOptions,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/servicecatalog/aws-servicecatalog-serviceaction.go b/cloudformation/servicecatalog/aws-servicecatalog-serviceaction.go new file mode 100644 index 0000000000..99c72c7bc0 --- /dev/null +++ b/cloudformation/servicecatalog/aws-servicecatalog-serviceaction.go @@ -0,0 +1,126 @@ +package servicecatalog + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ServiceAction AWS CloudFormation Resource (AWS::ServiceCatalog::ServiceAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html +type ServiceAction struct { + + // AcceptLanguage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html#cfn-servicecatalog-serviceaction-acceptlanguage + AcceptLanguage string `json:"AcceptLanguage,omitempty"` + + // Definition AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html#cfn-servicecatalog-serviceaction-definition + Definition []ServiceAction_DefinitionParameter `json:"Definition,omitempty"` + + // DefinitionType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html#cfn-servicecatalog-serviceaction-definitiontype + DefinitionType string `json:"DefinitionType,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html#cfn-servicecatalog-serviceaction-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html#cfn-servicecatalog-serviceaction-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 *ServiceAction) AWSCloudFormationType() string { + return "AWS::ServiceCatalog::ServiceAction" +} + +// 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 ServiceAction) MarshalJSON() ([]byte, error) { + type Properties ServiceAction + return json.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 *ServiceAction) UnmarshalJSON(b []byte) error { + type Properties ServiceAction + 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 = ServiceAction(*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/servicecatalog/aws-servicecatalog-serviceaction_definitionparameter.go b/cloudformation/servicecatalog/aws-servicecatalog-serviceaction_definitionparameter.go new file mode 100644 index 0000000000..a2bbb3390b --- /dev/null +++ b/cloudformation/servicecatalog/aws-servicecatalog-serviceaction_definitionparameter.go @@ -0,0 +1,40 @@ +package servicecatalog + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ServiceAction_DefinitionParameter AWS CloudFormation Resource (AWS::ServiceCatalog::ServiceAction.DefinitionParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-serviceaction-definitionparameter.html +type ServiceAction_DefinitionParameter struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-serviceaction-definitionparameter.html#cfn-servicecatalog-serviceaction-definitionparameter-key + Key string `json:"Key,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-serviceaction-definitionparameter.html#cfn-servicecatalog-serviceaction-definitionparameter-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 *ServiceAction_DefinitionParameter) AWSCloudFormationType() string { + return "AWS::ServiceCatalog::ServiceAction.DefinitionParameter" +} diff --git a/cloudformation/servicecatalog/aws-servicecatalog-serviceactionassociation.go b/cloudformation/servicecatalog/aws-servicecatalog-serviceactionassociation.go new file mode 100644 index 0000000000..e320988b8f --- /dev/null +++ b/cloudformation/servicecatalog/aws-servicecatalog-serviceactionassociation.go @@ -0,0 +1,116 @@ +package servicecatalog + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ServiceActionAssociation AWS CloudFormation Resource (AWS::ServiceCatalog::ServiceActionAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html +type ServiceActionAssociation struct { + + // ProductId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html#cfn-servicecatalog-serviceactionassociation-productid + ProductId string `json:"ProductId,omitempty"` + + // ProvisioningArtifactId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html#cfn-servicecatalog-serviceactionassociation-provisioningartifactid + ProvisioningArtifactId string `json:"ProvisioningArtifactId,omitempty"` + + // ServiceActionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html#cfn-servicecatalog-serviceactionassociation-serviceactionid + ServiceActionId string `json:"ServiceActionId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ServiceActionAssociation) AWSCloudFormationType() string { + return "AWS::ServiceCatalog::ServiceActionAssociation" +} + +// 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 ServiceActionAssociation) MarshalJSON() ([]byte, error) { + type Properties ServiceActionAssociation + return json.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 *ServiceActionAssociation) UnmarshalJSON(b []byte) error { + type Properties ServiceActionAssociation + 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 = ServiceActionAssociation(*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/servicecatalogappregistry/aws-servicecatalogappregistry-application.go b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-application.go new file mode 100644 index 0000000000..758d7d3cd6 --- /dev/null +++ b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-application.go @@ -0,0 +1,116 @@ +package servicecatalogappregistry + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Application AWS CloudFormation Resource (AWS::ServiceCatalogAppRegistry::Application) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html +type Application struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html#cfn-servicecatalogappregistry-application-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html#cfn-servicecatalogappregistry-application-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html#cfn-servicecatalogappregistry-application-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 *Application) AWSCloudFormationType() string { + return "AWS::ServiceCatalogAppRegistry::Application" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r Application) MarshalJSON() ([]byte, error) { + type Properties Application + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Application) UnmarshalJSON(b []byte) error { + type Properties Application + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Application(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup.go b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup.go new file mode 100644 index 0000000000..265557b826 --- /dev/null +++ b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup.go @@ -0,0 +1,121 @@ +package servicecatalogappregistry + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AttributeGroup AWS CloudFormation Resource (AWS::ServiceCatalogAppRegistry::AttributeGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html +type AttributeGroup struct { + + // Attributes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html#cfn-servicecatalogappregistry-attributegroup-attributes + Attributes *AttributeGroup_Attributes `json:"Attributes,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html#cfn-servicecatalogappregistry-attributegroup-description + Description string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html#cfn-servicecatalogappregistry-attributegroup-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html#cfn-servicecatalogappregistry-attributegroup-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 *AttributeGroup) AWSCloudFormationType() string { + return "AWS::ServiceCatalogAppRegistry::AttributeGroup" +} + +// 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 AttributeGroup) MarshalJSON() ([]byte, error) { + type Properties AttributeGroup + return json.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 *AttributeGroup) UnmarshalJSON(b []byte) error { + type Properties AttributeGroup + 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 = AttributeGroup(*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/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup_attributes.go b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup_attributes.go new file mode 100644 index 0000000000..e47a5a6e00 --- /dev/null +++ b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroup_attributes.go @@ -0,0 +1,30 @@ +package servicecatalogappregistry + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AttributeGroup_Attributes AWS CloudFormation Resource (AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalogappregistry-attributegroup-attributes.html +type AttributeGroup_Attributes struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AttributeGroup_Attributes) AWSCloudFormationType() string { + return "AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes" +} diff --git a/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroupassociation.go b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroupassociation.go new file mode 100644 index 0000000000..d4d5c9a70e --- /dev/null +++ b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-attributegroupassociation.go @@ -0,0 +1,111 @@ +package servicecatalogappregistry + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// AttributeGroupAssociation AWS CloudFormation Resource (AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html +type AttributeGroupAssociation struct { + + // Application AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html#cfn-servicecatalogappregistry-attributegroupassociation-application + Application string `json:"Application,omitempty"` + + // AttributeGroup AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html#cfn-servicecatalogappregistry-attributegroupassociation-attributegroup + AttributeGroup string `json:"AttributeGroup,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AttributeGroupAssociation) AWSCloudFormationType() string { + return "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" +} + +// 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 AttributeGroupAssociation) MarshalJSON() ([]byte, error) { + type Properties AttributeGroupAssociation + return json.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 *AttributeGroupAssociation) UnmarshalJSON(b []byte) error { + type Properties AttributeGroupAssociation + 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 = AttributeGroupAssociation(*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/servicecatalogappregistry/aws-servicecatalogappregistry-resourceassociation.go b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-resourceassociation.go new file mode 100644 index 0000000000..d83a51ad80 --- /dev/null +++ b/cloudformation/servicecatalogappregistry/aws-servicecatalogappregistry-resourceassociation.go @@ -0,0 +1,116 @@ +package servicecatalogappregistry + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ResourceAssociation AWS CloudFormation Resource (AWS::ServiceCatalogAppRegistry::ResourceAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html +type ResourceAssociation struct { + + // Application AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html#cfn-servicecatalogappregistry-resourceassociation-application + Application string `json:"Application,omitempty"` + + // Resource AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html#cfn-servicecatalogappregistry-resourceassociation-resource + Resource string `json:"Resource,omitempty"` + + // ResourceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html#cfn-servicecatalogappregistry-resourceassociation-resourcetype + ResourceType string `json:"ResourceType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceAssociation) AWSCloudFormationType() string { + return "AWS::ServiceCatalogAppRegistry::ResourceAssociation" +} + +// 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 ResourceAssociation) MarshalJSON() ([]byte, error) { + type Properties ResourceAssociation + return json.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 *ResourceAssociation) UnmarshalJSON(b []byte) error { + type Properties ResourceAssociation + 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 = ResourceAssociation(*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/signer/aws-signer-profilepermission.go b/cloudformation/signer/aws-signer-profilepermission.go new file mode 100644 index 0000000000..c97e81ec35 --- /dev/null +++ b/cloudformation/signer/aws-signer-profilepermission.go @@ -0,0 +1,126 @@ +package signer + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ProfilePermission AWS CloudFormation Resource (AWS::Signer::ProfilePermission) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html +type ProfilePermission struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html#cfn-signer-profilepermission-action + Action string `json:"Action,omitempty"` + + // Principal AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html#cfn-signer-profilepermission-principal + Principal string `json:"Principal,omitempty"` + + // ProfileName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html#cfn-signer-profilepermission-profilename + ProfileName string `json:"ProfileName,omitempty"` + + // ProfileVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html#cfn-signer-profilepermission-profileversion + ProfileVersion string `json:"ProfileVersion,omitempty"` + + // StatementId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html#cfn-signer-profilepermission-statementid + StatementId string `json:"StatementId,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ProfilePermission) AWSCloudFormationType() string { + return "AWS::Signer::ProfilePermission" +} + +// 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 ProfilePermission) MarshalJSON() ([]byte, error) { + type Properties ProfilePermission + return json.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 *ProfilePermission) UnmarshalJSON(b []byte) error { + type Properties ProfilePermission + 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 = ProfilePermission(*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/signer/aws-signer-signingprofile.go b/cloudformation/signer/aws-signer-signingprofile.go new file mode 100644 index 0000000000..983053b8c1 --- /dev/null +++ b/cloudformation/signer/aws-signer-signingprofile.go @@ -0,0 +1,117 @@ +package signer + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// SigningProfile AWS CloudFormation Resource (AWS::Signer::SigningProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html +type SigningProfile struct { + + // PlatformId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html#cfn-signer-signingprofile-platformid + PlatformId string `json:"PlatformId,omitempty"` + + // SignatureValidityPeriod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html#cfn-signer-signingprofile-signaturevalidityperiod + SignatureValidityPeriod *SigningProfile_SignatureValidityPeriod `json:"SignatureValidityPeriod,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html#cfn-signer-signingprofile-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 *SigningProfile) AWSCloudFormationType() string { + return "AWS::Signer::SigningProfile" +} + +// 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 SigningProfile) MarshalJSON() ([]byte, error) { + type Properties SigningProfile + return json.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 *SigningProfile) UnmarshalJSON(b []byte) error { + type Properties SigningProfile + 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 = SigningProfile(*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/signer/aws-signer-signingprofile_signaturevalidityperiod.go b/cloudformation/signer/aws-signer-signingprofile_signaturevalidityperiod.go new file mode 100644 index 0000000000..209f310d8f --- /dev/null +++ b/cloudformation/signer/aws-signer-signingprofile_signaturevalidityperiod.go @@ -0,0 +1,40 @@ +package signer + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// SigningProfile_SignatureValidityPeriod AWS CloudFormation Resource (AWS::Signer::SigningProfile.SignatureValidityPeriod) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-signer-signingprofile-signaturevalidityperiod.html +type SigningProfile_SignatureValidityPeriod struct { + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-signer-signingprofile-signaturevalidityperiod.html#cfn-signer-signingprofile-signaturevalidityperiod-type + Type string `json:"Type,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-signer-signingprofile-signaturevalidityperiod.html#cfn-signer-signingprofile-signaturevalidityperiod-value + Value int `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 *SigningProfile_SignatureValidityPeriod) AWSCloudFormationType() string { + return "AWS::Signer::SigningProfile.SignatureValidityPeriod" +} diff --git a/cloudformation/ssm/aws-ssm-maintenancewindowtask.go b/cloudformation/ssm/aws-ssm-maintenancewindowtask.go index 3bd66cc5b7..4b068b0da0 100644 --- a/cloudformation/ssm/aws-ssm-maintenancewindowtask.go +++ b/cloudformation/ssm/aws-ssm-maintenancewindowtask.go @@ -23,12 +23,12 @@ type MaintenanceWindowTask struct { LoggingInfo *MaintenanceWindowTask_LoggingInfo `json:"LoggingInfo,omitempty"` // MaxConcurrency AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxconcurrency MaxConcurrency string `json:"MaxConcurrency,omitempty"` // MaxErrors AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxerrors MaxErrors string `json:"MaxErrors,omitempty"` @@ -48,7 +48,7 @@ type MaintenanceWindowTask struct { ServiceRoleArn string `json:"ServiceRoleArn,omitempty"` // Targets AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-targets Targets []MaintenanceWindowTask_Target `json:"Targets,omitempty"` diff --git a/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration.go b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration.go new file mode 100644 index 0000000000..10f8d53d6d --- /dev/null +++ b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration.go @@ -0,0 +1,111 @@ +package sso + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InstanceAccessControlAttributeConfiguration AWS CloudFormation Resource (AWS::SSO::InstanceAccessControlAttributeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html +type InstanceAccessControlAttributeConfiguration struct { + + // AccessControlAttributes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html#cfn-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributes + AccessControlAttributes []InstanceAccessControlAttributeConfiguration_AccessControlAttribute `json:"AccessControlAttributes,omitempty"` + + // InstanceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html#cfn-sso-instanceaccesscontrolattributeconfiguration-instancearn + InstanceArn string `json:"InstanceArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InstanceAccessControlAttributeConfiguration) AWSCloudFormationType() string { + return "AWS::SSO::InstanceAccessControlAttributeConfiguration" +} + +// 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 InstanceAccessControlAttributeConfiguration) MarshalJSON() ([]byte, error) { + type Properties InstanceAccessControlAttributeConfiguration + return json.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 *InstanceAccessControlAttributeConfiguration) UnmarshalJSON(b []byte) error { + type Properties InstanceAccessControlAttributeConfiguration + 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 = InstanceAccessControlAttributeConfiguration(*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/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattribute.go b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattribute.go new file mode 100644 index 0000000000..0ef96e8fa6 --- /dev/null +++ b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattribute.go @@ -0,0 +1,40 @@ +package sso + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InstanceAccessControlAttributeConfiguration_AccessControlAttribute AWS CloudFormation Resource (AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattribute.html +type InstanceAccessControlAttributeConfiguration_AccessControlAttribute struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattribute.html#cfn-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattribute-key + Key string `json:"Key,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattribute.html#cfn-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattribute-value + Value *InstanceAccessControlAttributeConfiguration_AccessControlAttributeValue `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 *InstanceAccessControlAttributeConfiguration_AccessControlAttribute) AWSCloudFormationType() string { + return "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" +} diff --git a/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevalue.go b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevalue.go new file mode 100644 index 0000000000..5750fbec49 --- /dev/null +++ b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevalue.go @@ -0,0 +1,35 @@ +package sso + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InstanceAccessControlAttributeConfiguration_AccessControlAttributeValue AWS CloudFormation Resource (AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributevalue.html +type InstanceAccessControlAttributeConfiguration_AccessControlAttributeValue struct { + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributevalue.html#cfn-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributevalue-source + Source *InstanceAccessControlAttributeConfiguration_AccessControlAttributeValueSourceList `json:"Source,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InstanceAccessControlAttributeConfiguration_AccessControlAttributeValue) AWSCloudFormationType() string { + return "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" +} diff --git a/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevaluesourcelist.go b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevaluesourcelist.go new file mode 100644 index 0000000000..9387c8e7ff --- /dev/null +++ b/cloudformation/sso/aws-sso-instanceaccesscontrolattributeconfiguration_accesscontrolattributevaluesourcelist.go @@ -0,0 +1,35 @@ +package sso + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// InstanceAccessControlAttributeConfiguration_AccessControlAttributeValueSourceList AWS CloudFormation Resource (AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributevaluesourcelist.html +type InstanceAccessControlAttributeConfiguration_AccessControlAttributeValueSourceList struct { + + // AccessControlAttributeValueSourceList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributevaluesourcelist.html#cfn-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributevaluesourcelist-accesscontrolattributevaluesourcelist + AccessControlAttributeValueSourceList []string `json:"AccessControlAttributeValueSourceList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InstanceAccessControlAttributeConfiguration_AccessControlAttributeValueSourceList) AWSCloudFormationType() string { + return "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList" +} diff --git a/cloudformation/sso/aws-sso-permissionset.go b/cloudformation/sso/aws-sso-permissionset.go index 7b4e8b7bbc..2762eaad3f 100644 --- a/cloudformation/sso/aws-sso-permissionset.go +++ b/cloudformation/sso/aws-sso-permissionset.go @@ -21,7 +21,7 @@ type PermissionSet struct { // InlinePolicy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-inlinepolicy - InlinePolicy string `json:"InlinePolicy,omitempty"` + InlinePolicy interface{} `json:"InlinePolicy,omitempty"` // InstanceArn AWS CloudFormation Property // Required: true diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go index bedbe52c20..590ee5a372 100644 --- a/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html type StateMachine struct { + // Definition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definition + Definition *StateMachine_Definition `json:"Definition,omitempty"` + // DefinitionS3Location AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location @@ -25,7 +30,7 @@ type StateMachine struct { // 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"` + DefinitionSubstitutions map[string]string `json:"DefinitionSubstitutions,omitempty"` // LoggingConfiguration AWS CloudFormation Property // Required: false diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definition.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definition.go new file mode 100644 index 0000000000..73dc3fd6b9 --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachine_definition.go @@ -0,0 +1,30 @@ +package stepfunctions + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// StateMachine_Definition AWS CloudFormation Resource (AWS::StepFunctions::StateMachine.Definition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-definition.html +type StateMachine_Definition struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of 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_Definition) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachine.Definition" +} diff --git a/cloudformation/synthetics/aws-synthetics-canary_code.go b/cloudformation/synthetics/aws-synthetics-canary_code.go index 618b06e991..739fd1378b 100644 --- a/cloudformation/synthetics/aws-synthetics-canary_code.go +++ b/cloudformation/synthetics/aws-synthetics-canary_code.go @@ -9,7 +9,7 @@ import ( type Canary_Code struct { // Handler AWS CloudFormation Property - // Required: false + // Required: true // 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"` diff --git a/cloudformation/synthetics/aws-synthetics-canary_runconfig.go b/cloudformation/synthetics/aws-synthetics-canary_runconfig.go index 858109a742..c218915e4e 100644 --- a/cloudformation/synthetics/aws-synthetics-canary_runconfig.go +++ b/cloudformation/synthetics/aws-synthetics-canary_runconfig.go @@ -13,15 +13,20 @@ type Canary_RunConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-activetracing ActiveTracing bool `json:"ActiveTracing,omitempty"` + // EnvironmentVariables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-environmentvariables + EnvironmentVariables map[string]string `json:"EnvironmentVariables,omitempty"` + // MemoryInMB AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-memoryinmb MemoryInMB int `json:"MemoryInMB,omitempty"` // TimeoutInSeconds AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-timeoutinseconds - TimeoutInSeconds int `json:"TimeoutInSeconds"` + TimeoutInSeconds int `json:"TimeoutInSeconds,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/transfer/aws-transfer-server.go b/cloudformation/transfer/aws-transfer-server.go index 0e04c26942..8816beaa8c 100644 --- a/cloudformation/transfer/aws-transfer-server.go +++ b/cloudformation/transfer/aws-transfer-server.go @@ -18,6 +18,11 @@ type Server struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-certificate Certificate string `json:"Certificate,omitempty"` + // Domain AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-domain + Domain string `json:"Domain,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 diff --git a/cloudformation/transfer/aws-transfer-server_endpointdetails.go b/cloudformation/transfer/aws-transfer-server_endpointdetails.go index e0f49aa2e2..a52506a74d 100644 --- a/cloudformation/transfer/aws-transfer-server_endpointdetails.go +++ b/cloudformation/transfer/aws-transfer-server_endpointdetails.go @@ -16,7 +16,7 @@ type Server_EndpointDetails struct { // SecurityGroupIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-securitygroupids - SecurityGroupIds []Server_SecurityGroupId `json:"SecurityGroupIds,omitempty"` + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` // SubnetIds AWS CloudFormation Property // Required: false diff --git a/cloudformation/transfer/aws-transfer-user.go b/cloudformation/transfer/aws-transfer-user.go index 45b973408d..ae1cc478e0 100644 --- a/cloudformation/transfer/aws-transfer-user.go +++ b/cloudformation/transfer/aws-transfer-user.go @@ -33,6 +33,11 @@ type User struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-policy Policy string `json:"Policy,omitempty"` + // PosixProfile AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-posixprofile + PosixProfile *User_PosixProfile `json:"PosixProfile,omitempty"` + // Role AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-role diff --git a/cloudformation/transfer/aws-transfer-user_posixprofile.go b/cloudformation/transfer/aws-transfer-user_posixprofile.go new file mode 100644 index 0000000000..e5e304af75 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-user_posixprofile.go @@ -0,0 +1,45 @@ +package transfer + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// User_PosixProfile AWS CloudFormation Resource (AWS::Transfer::User.PosixProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-posixprofile.html +type User_PosixProfile struct { + + // Gid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-posixprofile.html#cfn-transfer-user-posixprofile-gid + Gid float64 `json:"Gid"` + + // SecondaryGids AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-posixprofile.html#cfn-transfer-user-posixprofile-secondarygids + SecondaryGids []float64 `json:"SecondaryGids,omitempty"` + + // Uid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-posixprofile.html#cfn-transfer-user-posixprofile-uid + Uid float64 `json:"Uid"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *User_PosixProfile) AWSCloudFormationType() string { + return "AWS::Transfer::User.PosixProfile" +} diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 0276e86f57..37e8265578 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -37,6 +37,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, "CertificateAuthorityArn": { "type": "string" }, @@ -51,6 +54,9 @@ var CloudformationSchema = `{ }, "Validity": { "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" } }, "required": [ @@ -82,6 +88,282 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.CertificatePolicyList": { + "additionalProperties": false, + "properties": { + "CertificatePolicyList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsageList": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.CertificatePolicyList" + }, + "ExtendedKeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsageList" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralNameList" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralNameList": { + "additionalProperties": false, + "properties": { + "GeneralNameList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfoList" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfoList": { + "additionalProperties": false, + "properties": { + "PolicyQualifierInfoList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::Certificate.Validity": { "additionalProperties": false, "properties": { @@ -130,6 +412,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, "KeyAlgorithm": { "type": "string" }, @@ -181,6 +466,34 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { "additionalProperties": false, "properties": { @@ -199,6 +512,113 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { "additionalProperties": false, "properties": { @@ -256,6 +676,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess": { + "additionalProperties": false, + "properties": { + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthorityActivation": { "additionalProperties": false, "properties": { @@ -776,6 +1208,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "Data": { "type": "string" }, @@ -969,6 +1404,9 @@ var CloudformationSchema = `{ "BuildSpec": { "type": "string" }, + "CustomHeaders": { + "type": "string" + }, "CustomRules": { "items": { "$ref": "#/definitions/AWS::Amplify::App.CustomRule" @@ -4160,6 +4598,9 @@ var CloudformationSchema = `{ "RequestTemplates": { "type": "object" }, + "ResponseParameters": { + "type": "object" + }, "TemplateSelectionExpression": { "type": "string" }, @@ -4197,285 +4638,313 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { + "AWS::ApiGatewayV2::Integration.ResponseParameter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], + "Destination": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Source": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Destination", + "Source" ], "type": "object" }, - "AWS::ApiGatewayV2::Model": { + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ApiGatewayV2::Route": { + "AWS::ApiGatewayV2::Integration.TlsConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerNameToVerify": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse": { + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -4601,6 +5070,9 @@ var CloudformationSchema = `{ "AccessLogSettings": { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" }, + "AccessPolicyId": { + "type": "string" + }, "ApiId": { "type": "string" }, @@ -5751,6 +6223,9 @@ var CloudformationSchema = `{ "AccessToken": { "type": "string" }, + "ClientCredentialsArn": { + "type": "string" + }, "ConnectorOAuthRequest": { "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" }, @@ -6162,6 +6637,9 @@ var CloudformationSchema = `{ }, "Snowflake": { "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" } }, "type": "object" @@ -6239,6 +6717,27 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppFlow::Flow.IdFieldNamesList": { + "additionalProperties": false, + "properties": { + "IdFieldNamesList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppFlow::Flow.InforNexusSourceProperties": { "additionalProperties": false, "properties": { @@ -6352,8 +6851,14 @@ var CloudformationSchema = `{ "ErrorHandlingConfig": { "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" }, + "IdFieldNames": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IdFieldNamesList" + }, "Object": { "type": "string" + }, + "WriteOperationType": { + "type": "string" } }, "required": [ @@ -6518,6 +7023,9 @@ var CloudformationSchema = `{ "ConnectorType": { "type": "string" }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, "SourceConnectorProperties": { "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" } @@ -6602,6 +7110,43 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { @@ -6681,7 +7226,6 @@ var CloudformationSchema = `{ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -6870,9 +7414,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -6891,8 +7432,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -6973,7 +7513,6 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7441,8 +7980,7 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -7467,6 +8005,30 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { @@ -7497,6 +8059,9 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7515,6 +8080,33 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { @@ -7527,6 +8119,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { "additionalProperties": false, "properties": { @@ -7561,9 +8165,39 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" }, @@ -7587,6 +8221,9 @@ var CloudformationSchema = `{ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" } }, "required": [ @@ -7615,6 +8252,9 @@ var CloudformationSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" } }, "type": "object" @@ -7635,6 +8275,45 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { "additionalProperties": false, "properties": { @@ -7684,6 +8363,9 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" } @@ -7720,6 +8402,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -7728,6 +8422,9 @@ var CloudformationSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" } }, "type": "object" @@ -7785,8 +8482,7 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -7888,6 +8584,9 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualNode.ClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7906,6 +8605,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -8007,9 +8718,15 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" }, @@ -8051,6 +8768,9 @@ var CloudformationSchema = `{ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" } }, "required": [ @@ -8079,6 +8799,9 @@ var CloudformationSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" } }, "type": "object" @@ -8099,6 +8822,45 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -8108,6 +8870,30 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.PortMapping": { "additionalProperties": false, "properties": { @@ -8136,6 +8922,30 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TcpTimeout": { "additionalProperties": false, "properties": { @@ -8148,6 +8958,9 @@ var CloudformationSchema = `{ "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" } @@ -8184,6 +8997,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -8192,8 +9017,68 @@ var CloudformationSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" } }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], "type": "object" }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { @@ -8223,6 +9108,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { @@ -8291,8 +9188,7 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -10724,6 +11620,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, "Logs": { "items": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" @@ -10758,6 +11657,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.Log": { "additionalProperties": false, "properties": { @@ -10935,7 +11849,10 @@ var CloudformationSchema = `{ "type": "object" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "Type": { "type": "string" @@ -10968,18 +11885,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Athena::DataCatalog.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -11100,7 +12005,10 @@ var CloudformationSchema = `{ "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "WorkGroupConfiguration": { "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" @@ -11150,6 +12058,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Athena::WorkGroup.ResultConfiguration": { "additionalProperties": false, "properties": { @@ -11180,18 +12100,6 @@ var CloudformationSchema = `{ }, "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": { @@ -11201,6 +12109,9 @@ var CloudformationSchema = `{ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11222,6 +12133,9 @@ var CloudformationSchema = `{ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11237,6 +12151,199 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -11660,7 +12767,7 @@ var CloudformationSchema = `{ "type": "string" }, "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" }, "PlacementTenancy": { "type": "string" @@ -11753,7 +12860,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "AWS::AutoScaling::LaunchConfiguration.MetadataOptions": { "additionalProperties": false, "properties": { "HttpEndpoint": { @@ -12741,6 +13848,12 @@ var CloudformationSchema = `{ "type": "string" }, "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "EncryptionKeyArn": { @@ -12885,6 +13998,12 @@ var CloudformationSchema = `{ "DesiredvCpus": { "type": "number" }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, "Ec2KeyPair": { "type": "string" }, @@ -12935,15 +14054,27 @@ var CloudformationSchema = `{ } }, "required": [ - "InstanceRole", - "InstanceTypes", "MaxvCpus", - "MinvCpus", "Subnets", "Type" ], "type": "object" }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { "additionalProperties": false, "properties": { @@ -13003,6 +14134,15 @@ var CloudformationSchema = `{ "Parameters": { "type": "object" }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, @@ -13060,6 +14200,9 @@ var CloudformationSchema = `{ "ExecutionRoleArn": { "type": "string" }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, "Image": { "type": "string" }, @@ -13084,6 +14227,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, "Privileged": { "type": "boolean" }, @@ -13156,6 +14302,36 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -13222,6 +14398,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.NodeProperties": { "additionalProperties": false, "properties": { @@ -13277,6 +14462,12 @@ var CloudformationSchema = `{ "properties": { "Attempts": { "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" } }, "type": "object" @@ -13794,6 +14985,12 @@ var CloudformationSchema = `{ "properties": { "KeyspaceName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -13868,6 +15065,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, "RegularColumns": { "items": { "$ref": "#/definitions/AWS::Cassandra::Table.Column" @@ -13876,6 +15076,12 @@ var CloudformationSchema = `{ }, "TableName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14198,6 +15404,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "ImageId": { + "type": "string" + }, "InstanceType": { "type": "string" }, @@ -14297,6 +15506,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Properties": { + "type": "object" + }, "ServiceToken": { "type": "string" } @@ -14402,7 +15614,285 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::Stack": { + "AWS::CloudFormation::ModuleDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ModuleName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14572,6 +16062,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "PermissionModel", + "StackSetName" + ], "type": "object" }, "Type": { @@ -14590,7 +16084,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -15183,6 +16678,12 @@ var CloudformationSchema = `{ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15323,6 +16824,12 @@ var CloudformationSchema = `{ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15699,7 +17206,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy": { + "AWS::CloudFront::KeyGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15731,18 +17238,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" } }, "required": [ - "OriginRequestPolicyConfig" + "KeyGroupConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::OriginRequestPolicy" + "AWS::CloudFront::KeyGroup" ], "type": "string" }, @@ -15761,88 +17268,29 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { "additionalProperties": false, "properties": { - "HeaderBehavior": { + "Comment": { "type": "string" }, - "Headers": { + "Items": { "items": { "type": "string" }, "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" }, "Name": { "type": "string" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" } }, "required": [ - "CookiesConfig", - "HeadersConfig", - "Name", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" + "Items", + "Name" ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig": { + "AWS::CloudFront::OriginRequestPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15874,36 +17322,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "type": "array" - }, - "Fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SamplingRate": { - "type": "number" + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" } }, "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" + "OriginRequestPolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::RealtimeLogConfig" + "AWS::CloudFront::OriginRequestPolicy" ], "type": "string" }, @@ -15922,39 +17352,285 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { "additionalProperties": false, "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + "CookieBehavior": { + "type": "string" }, - "StreamType": { + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "KinesisStreamConfig", - "StreamType" + "HeaderBehavior" ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { "additionalProperties": false, "properties": { - "RoleArn": { + "Comment": { "type": "string" }, - "StreamArn": { + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" + }, + "Name": { "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" } }, "required": [ - "RoleArn", - "StreamArn" + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" ], "type": "object" }, - "AWS::CloudFront::StreamingDistribution": { + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "type": "array" + }, + "Fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SamplingRate": { + "type": "number" + } + }, + "required": [ + "EndPoints", + "Fields", + "Name", + "SamplingRate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::RealtimeLogConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "additionalProperties": false, + "properties": { + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + }, + "StreamType": { + "type": "string" + } + }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamArn" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -16835,6 +18511,108 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, "AWS::CodeArtifact::Domain": { "additionalProperties": false, "properties": { @@ -16870,8 +18648,17 @@ var CloudformationSchema = `{ "DomainName": { "type": "string" }, + "EncryptionKey": { + "type": "string" + }, "PermissionsPolicyDocument": { "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -16935,6 +18722,12 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, "ExternalConnections": { "items": { "type": "string" @@ -16947,6 +18740,12 @@ var CloudformationSchema = `{ "RepositoryName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Upstreams": { "items": { "type": "string" @@ -16955,6 +18754,7 @@ var CloudformationSchema = `{ } }, "required": [ + "DomainName", "RepositoryName" ], "type": "object" @@ -17024,6 +18824,9 @@ var CloudformationSchema = `{ "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, + "ConcurrentBuildLimit": { + "type": "number" + }, "Description": { "type": "string" }, @@ -17613,6 +19416,9 @@ var CloudformationSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "EncryptionDisabled": { "type": "boolean" }, @@ -18501,6 +20307,12 @@ var CloudformationSchema = `{ "Owner": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -19140,6 +20952,9 @@ var CloudformationSchema = `{ "Code": { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" }, + "ConnectionArn": { + "type": "string" + }, "EnableIssues": { "type": "boolean" }, @@ -19160,7 +20975,6 @@ var CloudformationSchema = `{ } }, "required": [ - "RepositoryAccessToken", "RepositoryName", "RepositoryOwner" ], @@ -19831,6 +21645,30 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cognito::UserPool.DeviceConfiguration": { "additionalProperties": false, "properties": { @@ -19885,12 +21723,21 @@ var CloudformationSchema = `{ "CreateAuthChallenge": { "type": "string" }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, "CustomMessage": { "type": "string" }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, "DefineAuthChallenge": { "type": "string" }, + "KMSKeyID": { + "type": "string" + }, "PostAuthentication": { "type": "string" }, @@ -20208,6 +22055,9 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -22019,6 +23869,81 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DAX::Cluster": { "additionalProperties": false, "properties": { @@ -22312,6 +24237,12 @@ var CloudformationSchema = `{ }, "State": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -22336,6 +24267,25 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { @@ -22348,6 +24298,9 @@ var CloudformationSchema = `{ "IntervalUnit": { "type": "string" }, + "Location": { + "type": "string" + }, "Times": { "items": { "type": "string" @@ -22357,6 +24310,25 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -22388,13 +24360,67 @@ var CloudformationSchema = `{ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" }, + "Target": { + "type": "string" + }, "TargetRegion": { "type": "string" } }, "required": [ - "Encrypted", - "TargetRegion" + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CmkArn": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + } + }, + "required": [ + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventParameters": { + "additionalProperties": false, + "properties": { + "DescriptionRegex": { + "type": "string" + }, + "EventType": { + "type": "string" + }, + "SnapshotOwner": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "EventType", + "SnapshotOwner" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventSource": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" ], "type": "object" }, @@ -22434,12 +24460,27 @@ var CloudformationSchema = `{ "AWS::DLM::LifecyclePolicy.PolicyDetails": { "additionalProperties": false, "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, "PolicyType": { "type": "string" }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, "ResourceTypes": { "items": { "type": "string" @@ -22459,11 +24500,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "ResourceTypes", - "Schedules", - "TargetTags" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.RetainRule": { @@ -22505,6 +24541,12 @@ var CloudformationSchema = `{ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule" }, + "ShareRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" + }, + "type": "array" + }, "TagsToAdd": { "items": { "$ref": "#/definitions/Tag" @@ -22520,6 +24562,24 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.ShareRule": { + "additionalProperties": false, + "properties": { + "TargetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UnshareInterval": { + "type": "number" + }, + "UnshareIntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -22622,6 +24682,9 @@ var CloudformationSchema = `{ "DatabaseName": { "type": "string" }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, "DynamoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" }, @@ -22640,6 +24703,9 @@ var CloudformationSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, "KafkaSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" }, @@ -22649,18 +24715,33 @@ var CloudformationSchema = `{ "KmsKeyId": { "type": "string" }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, "NeptuneSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, "Password": { "type": "string" }, "Port": { "type": "number" }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -22670,6 +24751,9 @@ var CloudformationSchema = `{ "SslMode": { "type": "string" }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22707,6 +24791,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.DynamoDbSettings": { "additionalProperties": false, "properties": { @@ -22734,6 +24830,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KafkaSettings": { "additionalProperties": false, "properties": { @@ -22761,6 +24869,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.MongoDbSettings": { "additionalProperties": false, "properties": { @@ -22791,6 +24911,12 @@ var CloudformationSchema = `{ "Port": { "type": "number" }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, "ServerName": { "type": "string" }, @@ -22800,6 +24926,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.NeptuneSettings": { "additionalProperties": false, "properties": { @@ -22827,6 +24965,48 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -22854,6 +25034,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::EventSubscription": { "additionalProperties": false, "properties": { @@ -23230,7 +25422,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DataPipeline::Pipeline": { + "AWS::DataBrew::Dataset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23262,49 +25454,149 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { + "Format": { "type": "string" }, + "FormatOptions": { + "type": "object" + }, + "Input": { + "type": "object" + }, "Name": { "type": "string" }, - "ParameterObjects": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + "$ref": "#/definitions/Tag" }, "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "ParameterValues": { + { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" }, - "PipelineObjects": { + "EncryptionKeyArn": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, + "JobSample": { + "type": "object" + }, + "LogSubscription": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "type": "object" + }, + "Outputs": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + "$ref": "#/definitions/AWS::DataBrew::Job.Output" }, "type": "array" }, - "PipelineTags": { + "ProjectName": { + "type": "string" + }, + "Recipe": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" } }, "required": [ "Name", - "ParameterObjects" + "RoleArn", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::DataBrew::Job" ], "type": "string" }, @@ -23323,169 +25615,70 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DataPipeline::Pipeline.Field": { + "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { + "Delimiter": { "type": "string" } }, - "required": [ - "Key" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { - "Key": { + "CompressionFormat": { "type": "string" }, - "StringValue": { + "Format": { "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + "type": "string" }, "type": "array" - }, - "Id": { - "type": "string" } }, "required": [ - "Attributes", - "Id" + "Location" ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterValue": { + "AWS::DataBrew::Job.OutputFormatOptions": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" } }, - "required": [ - "Id", - "StringValue" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.PipelineObject": { + "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { + "Bucket": { "type": "string" }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { "Key": { "type": "string" - }, - "Value": { - "type": "string" } }, "required": [ - "Key", - "Value" + "Bucket" ], "type": "object" }, - "AWS::Detective::Graph": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { + "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23517,29 +25710,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GraphArn": { + "DatasetName": { "type": "string" }, - "MemberEmailAddress": { + "Name": { "type": "string" }, - "MemberId": { + "RecipeName": { "type": "string" }, - "Message": { + "RoleArn": { "type": "string" + }, + "Sample": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" + "DatasetName", + "Name", + "RecipeName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::DataBrew::Project" ], "type": "string" }, @@ -23558,7 +25761,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::DataBrew::Recipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23590,38 +25793,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { + "Description": { "type": "string" }, - "EnableSso": { - "type": "boolean" - }, "Name": { "type": "string" }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ "Name", - "Password", - "VpcSettings" + "Steps" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::DataBrew::Recipe" ], "type": "string" }, @@ -23640,131 +25839,422 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "AWS::DataBrew::Recipe.Action": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Operation": { + "type": "string" }, - "VpcId": { + "Parameters": { + "type": "object" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.ConditionExpression": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Condition", + "TargetColumn" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CatalogId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DatabaseName": { + "type": "string" }, - "Metadata": { + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" - } + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" }, - "required": [ - "Name", - "Password", - "Size", - "VpcSettings" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::DirectoryService::SimpleAD" - ], + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceColumn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { + "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { + "AWS::DataBrew::Recipe.RecipeStep": { "additionalProperties": false, "properties": { - "SubnetIds": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" }, "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" }, - "VpcId": { + "Key": { "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Bucket" ], "type": "object" }, - "AWS::DocDB::DBCluster": { + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23796,82 +26286,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { + "CronExpression": { "type": "string" }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { + "JobNames": { "items": { "type": "string" }, "type": "array" }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { + "Name": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "MasterUserPassword", - "MasterUsername" + "CronExpression", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBCluster" + "AWS::DataBrew::Schedule" ], "type": "string" }, @@ -23890,7 +26332,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DocDB::DBClusterParameterGroup": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23922,35 +26364,49 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "Activate": { + "type": "boolean" }, - "Family": { + "Description": { "type": "string" }, "Name": { "type": "string" }, - "Parameters": { - "type": "object" + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "type": "array" }, - "Tags": { + "ParameterValues": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "type": "array" + }, + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" }, "type": "array" } }, "required": [ - "Description", - "Family", - "Parameters" + "Name", + "ParameterObjects" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBClusterParameterGroup" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -23969,7 +26425,115 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DocDB::DBInstance": { + "AWS::DataPipeline::Pipeline.Field": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24001,40 +26565,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { + "ActivationKey": { "type": "string" }, - "DBInstanceClass": { + "AgentName": { "type": "string" }, - "DBInstanceIdentifier": { - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "PreferredMaintenanceWindow": { - "type": "string" + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcEndpointId": { + "type": "string" } }, "required": [ - "DBClusterIdentifier", - "DBInstanceClass" + "ActivationKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBInstance" + "AWS::DataSync::Agent" ], "type": "string" }, @@ -24053,7 +26619,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DocDB::DBSubnetGroup": { + "AWS::DataSync::LocationEFS": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24085,17 +26651,14 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { - "type": "string" + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" }, - "DBSubnetGroupName": { + "EfsFilesystemArn": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Subdirectory": { + "type": "string" }, "Tags": { "items": { @@ -24105,14 +26668,14 @@ var CloudformationSchema = `{ } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "Ec2Config", + "EfsFilesystemArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBSubnetGroup" + "AWS::DataSync::LocationEFS" ], "type": "string" }, @@ -24131,7 +26694,26 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DynamoDB::Table": { + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24163,46 +26745,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { + "Domain": { "type": "string" }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" + "FsxFilesystemArn": { + "type": "string" }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" + "Password": { + "type": "string" }, - "LocalSecondaryIndexes": { + "SecurityGroupArns": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + "type": "string" }, "type": "array" }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" - }, - "TableName": { + "Subdirectory": { "type": "string" }, "Tags": { @@ -24211,18 +26769,21 @@ var CloudformationSchema = `{ }, "type": "array" }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" + "User": { + "type": "string" } }, "required": [ - "KeySchema" + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Table" + "AWS::DataSync::LocationFSxWindows" ], "type": "string" }, @@ -24241,174 +26802,110 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::DynamoDB::Table.AttributeDefinition": { + "AWS::DataSync::LocationNFS": { "additionalProperties": false, "properties": { - "AttributeName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + "Properties": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" + }, + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "OnPremConfig", + "ServerHostname", + "Subdirectory" + ], + "type": "object" }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { + "Type": { + "enum": [ + "AWS::DataSync::LocationNFS" + ], "type": "string" }, - "KeyType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AttributeName", - "KeyType" + "Type", + "Properties" ], "type": "object" }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "AWS::DataSync::LocationNFS.MountOptions": { "additionalProperties": false, "properties": { - "IndexName": { + "Version": { "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::DynamoDB::Table.Projection": { + "AWS::DataSync::LocationNFS.OnPremConfig": { "additionalProperties": false, "properties": { - "NonKeyAttributes": { + "AgentArns": { "items": { "type": "string" }, "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "required": [ - "AttributeName", - "Enabled" + "AgentArns" ], "type": "object" }, - "AWS::EC2::CapacityReservation": { + "AWS::DataSync::LocationObjectStorage": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24440,54 +26937,50 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AccessKey": { "type": "string" }, - "EbsOptimized": { - "type": "boolean" + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EndDate": { + "BucketName": { "type": "string" }, - "EndDateType": { + "SecretKey": { "type": "string" }, - "EphemeralStorage": { - "type": "boolean" + "ServerHostname": { + "type": "string" }, - "InstanceCount": { + "ServerPort": { "type": "number" }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { + "ServerProtocol": { "type": "string" }, - "InstanceType": { + "Subdirectory": { "type": "string" }, - "TagSpecifications": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Tenancy": { - "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" + "AgentArns", + "BucketName", + "ServerHostname" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::DataSync::LocationObjectStorage" ], "type": "string" }, @@ -24506,22 +26999,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { + "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24553,21 +27031,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + "S3BucketArn": { + "type": "string" }, - "VpcId": { + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "VpcId" + "S3BucketArn", + "S3Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::DataSync::LocationS3" ], "type": "string" }, @@ -24586,19 +27077,19 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::CarrierGateway.Tags": { + "AWS::DataSync::LocationS3.S3Config": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "BucketAccessRoleArn": { + "type": "string" } }, + "required": [ + "BucketAccessRoleArn" + ], "type": "object" }, - "AWS::EC2::ClientVpnAuthorizationRule": { + "AWS::DataSync::LocationSMB": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24630,31 +27121,49 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessGroupId": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { "type": "string" }, - "AuthorizeAllGroups": { - "type": "boolean" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" }, - "ClientVpnEndpointId": { + "Password": { "type": "string" }, - "Description": { + "ServerHostname": { "type": "string" }, - "TargetNetworkCidr": { + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::DataSync::LocationSMB" ], "type": "string" }, @@ -24673,7 +27182,16 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint": { + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24705,69 +27223,46 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "type": "array" - }, - "ClientCidrBlock": { + "CloudWatchLogGroupArn": { "type": "string" }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" - }, - "Description": { + "DestinationLocationArn": { "type": "string" }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { + "Excludes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" }, "type": "array" }, - "SelfServicePortal": { + "Name": { "type": "string" }, - "ServerCertificateArn": { - "type": "string" + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" }, - "SplitTunnel": { - "type": "boolean" + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" }, - "TagSpecifications": { + "SourceLocationArn": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" } }, "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" + "DestinationLocationArn", + "SourceLocationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::DataSync::Task" ], "type": "string" }, @@ -24786,104 +27281,76 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "AWS::DataSync::Task.FilterRule": { "additionalProperties": false, "properties": { - "ClientRootCertificateChainArn": { + "FilterType": { + "type": "string" + }, + "Value": { "type": "string" } }, - "required": [ - "ClientRootCertificateChainArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + "Atime": { + "type": "string" }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + "BytesPerSecond": { + "type": "number" }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + "Gid": { + "type": "string" }, - "Type": { + "LogLevel": { "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { + }, + "Mtime": { "type": "string" }, - "CloudwatchLogStream": { + "OverwriteMode": { "type": "string" }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { + "PosixPermissions": { "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { + }, + "PreserveDeletedFiles": { "type": "string" }, - "SelfServiceSAMLProviderArn": { + "PreserveDevices": { + "type": "string" + }, + "TaskQueueing": { + "type": "string" + }, + "TransferMode": { + "type": "string" + }, + "Uid": { + "type": "string" + }, + "VerifyMode": { "type": "string" } }, - "required": [ - "SAMLProviderArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { - "ResourceType": { + "ScheduleExpression": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ResourceType", - "Tags" + "ScheduleExpression" ], "type": "object" }, - "AWS::EC2::ClientVpnRoute": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24914,30 +27381,12 @@ var CloudformationSchema = `{ }, "Properties": { "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::Detective::Graph" ], "type": "string" }, @@ -24951,12 +27400,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24988,22 +27436,32 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ClientVpnEndpointId": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { "type": "string" }, - "SubnetId": { + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "SubnetId" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::Detective::MemberInvitation" ], "type": "string" }, @@ -25022,7 +27480,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::CustomerGateway": { + "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25054,32 +27512,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" } }, "required": [ - "BgpAsn", - "IpAddress", - "Type" + "Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::DevOpsGuru::NotificationChannel" ], "type": "string" }, @@ -25098,7 +27542,25 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25130,42 +27592,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" } }, + "required": [ + "ResourceCollectionFilter" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::DevOpsGuru::ResourceCollection" ], "type": "string" }, @@ -25179,11 +27617,33 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EC2Fleet": { + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25215,55 +27675,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ExcessCapacityTerminationPolicy": { - "type": "string" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" - }, - "type": "array" - }, - "OnDemandOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" - }, - "ReplaceUnhealthyInstances": { + "CreateAlias": { "type": "boolean" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" - }, - "type": "array" - }, - "TargetCapacitySpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" + "Edition": { + "type": "string" }, - "TerminateInstancesWithExpiration": { + "EnableSso": { "type": "boolean" }, - "Type": { + "Name": { "type": "string" }, - "ValidFrom": { + "Password": { "type": "string" }, - "ValidUntil": { + "ShortName": { "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" } }, "required": [ - "LaunchTemplateConfigs", - "TargetCapacitySpecification" + "Name", + "Password", + "VpcSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::DirectoryService::MicrosoftAD" ], "type": "string" }, @@ -25282,190 +27725,26 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "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.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { + "VpcId": { "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" } }, "required": [ - "TotalTargetCapacity" + "SubnetIds", + "VpcId" ], "type": "object" }, - "AWS::EC2::EIP": { + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25497,27 +27776,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Domain": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { "type": "string" }, - "InstanceId": { + "EnableSso": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "PublicIpv4Pool": { + "Password": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" } }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EIP" + "AWS::DirectoryService::SimpleAD" ], "type": "string" }, @@ -25531,11 +27825,31 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EIPAssociation": { + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25567,88 +27881,82 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { "type": "string" }, - "EIP": { + "DBClusterParameterGroupName": { "type": "string" }, - "InstanceId": { + "DBSubnetGroupName": { "type": "string" }, - "NetworkInterfaceId": { + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { "type": "string" }, - "PrivateIpAddress": { + "KmsKeyId": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "MasterUserPassword": { "type": "string" }, - { + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } }, "required": [ - "VpcId" + "MasterUserPassword", + "MasterUsername" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" + "AWS::DocDB::DBCluster" ], "type": "string" }, @@ -25667,7 +27975,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::FlowLog": { + "AWS::DocDB::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25699,50 +28007,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { + "Description": { "type": "string" }, - "LogGroupName": { + "Family": { "type": "string" }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { + "Name": { "type": "string" }, - "ResourceType": { - "type": "string" + "Parameters": { + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrafficType": { - "type": "string" } }, "required": [ - "ResourceId", - "ResourceType", - "TrafficType" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::FlowLog" + "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" }, @@ -25761,7 +28054,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::GatewayRouteTableAssociation": { + "AWS::DocDB::DBInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25793,22 +28086,40 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GatewayId": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "RouteTableId": { + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GatewayId", - "RouteTableId" + "DBClusterIdentifier", + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" + "AWS::DocDB::DBInstance" ], "type": "string" }, @@ -25827,7 +28138,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::Host": { + "AWS::DocDB::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25859,28 +28170,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoPlacement": { + "DBSubnetGroupDescription": { "type": "string" }, - "AvailabilityZone": { + "DBSubnetGroupName": { "type": "string" }, - "HostRecovery": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "InstanceType": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Host" + "AWS::DocDB::DBSubnetGroup" ], "type": "string" }, @@ -25899,12 +28216,9 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance": { + "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { - "CreationPolicy": { - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -25934,130 +28248,49 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { + "AttributeDefinitions": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" }, "type": "array" }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { + "BillingMode": { "type": "string" }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "GlobalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" }, "type": "array" }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { + "KeySchema": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" }, "type": "array" }, - "Monitoring": { - "type": "boolean" + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" }, - "NetworkInterfaces": { + "LocalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" }, "type": "array" }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, - "SourceDestCheck": { - "type": "boolean" + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" }, - "SubnetId": { + "TableName": { "type": "string" }, "Tags": { @@ -26066,24 +28299,18 @@ var CloudformationSchema = `{ }, "type": "array" }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" } }, + "required": [ + "KeySchema" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Instance" + "AWS::DynamoDB::Table" ], "type": "string" }, @@ -26097,286 +28324,304 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.AssociationParameter": { + "AWS::DynamoDB::Table.AttributeDefinition": { "additionalProperties": false, "properties": { - "Key": { + "AttributeName": { "type": "string" }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" + "AttributeType": { + "type": "string" } }, "required": [ - "Key", - "Value" + "AttributeName", + "AttributeType" ], "type": "object" }, - "AWS::EC2::Instance.BlockDeviceMapping": { + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeviceName": { + "IndexName": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" }, - "VirtualName": { - "type": "string" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" } }, "required": [ - "DeviceName" + "IndexName", + "KeySchema", + "Projection" ], "type": "object" }, - "AWS::EC2::Instance.CpuOptions": { + "AWS::DynamoDB::Table.KeySchema": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "AttributeName": { + "type": "string" }, - "ThreadsPerCore": { - "type": "number" + "KeyType": { + "type": "string" } }, + "required": [ + "AttributeName", + "KeyType" + ], "type": "object" }, - "AWS::EC2::Instance.CreditSpecification": { + "AWS::DynamoDB::Table.KinesisStreamSpecification": { "additionalProperties": false, "properties": { - "CPUCredits": { + "StreamArn": { "type": "string" } }, + "required": [ + "StreamArn" + ], "type": "object" }, - "AWS::EC2::Instance.Ebs": { + "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { + "IndexName": { "type": "string" }, - "VolumeSize": { - "type": "number" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "VolumeType": { - "type": "string" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" } }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], "type": "object" }, - "AWS::EC2::Instance.ElasticGpuSpecification": { + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "PointInTimeRecoveryEnabled": { + "type": "boolean" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "AWS::DynamoDB::Table.Projection": { "additionalProperties": false, "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::Instance.InstanceIpv6Address": { + "AWS::DynamoDB::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { - "Ipv6Address": { - "type": "string" + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" } }, "required": [ - "Ipv6Address" + "ReadCapacityUnits", + "WriteCapacityUnits" ], "type": "object" }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { + "AWS::DynamoDB::Table.SSESpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { + "KMSMasterKeyId": { "type": "string" }, - "LaunchTemplateName": { - "type": "string" + "SSEEnabled": { + "type": "boolean" }, - "Version": { + "SSEType": { "type": "string" } }, "required": [ - "Version" + "SSEEnabled" ], "type": "object" }, - "AWS::EC2::Instance.LicenseSpecification": { + "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { - "LicenseConfigurationArn": { + "StreamViewType": { "type": "string" } }, "required": [ - "LicenseConfigurationArn" + "StreamViewType" ], "type": "object" }, - "AWS::EC2::Instance.NetworkInterface": { + "AWS::DynamoDB::Table.TimeToLiveSpecification": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { + "AttributeName": { "type": "string" }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { + "Enabled": { "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" } }, "required": [ - "Primary", - "PrivateIpAddress" + "AttributeName", + "Enabled" ], "type": "object" }, - "AWS::EC2::Instance.SsmAssociation": { + "AWS::EC2::CapacityReservation": { "additionalProperties": false, "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } }, - "type": "array" + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" }, - "DocumentName": { + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DocumentName" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.Volume": { + "AWS::EC2::CapacityReservation.TagSpecification": { "additionalProperties": false, "properties": { - "Device": { + "ResourceType": { "type": "string" }, - "VolumeId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Device", - "VolumeId" - ], "type": "object" }, - "AWS::EC2::InternetGateway": { + "AWS::EC2::CarrierGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26413,13 +28658,19 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcId": { + "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InternetGateway" + "AWS::EC2::CarrierGateway" ], "type": "string" }, @@ -26433,11 +28684,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate": { + "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26469,18 +28721,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + "AccessGroupId": { + "type": "string" }, - "LaunchTemplateName": { + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { "type": "string" } }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" }, @@ -26494,442 +28759,248 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "AWS::EC2::ClientVpnEndpoint": { "additionalProperties": false, "properties": { - "DeviceName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoDevice": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], "type": "string" }, - "VirtualName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { + "ClientRootCertificateChainArn": { "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, + "required": [ + "ClientRootCertificateChainArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationId": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CpuOptions": { + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { + "LambdaFunctionArn": { "type": "string" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ebs": { + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { + "CloudwatchLogGroup": { "type": "string" }, - "SnapshotId": { + "CloudwatchLogStream": { "type": "string" }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "Enabled": { + "type": "boolean" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { "additionalProperties": false, "properties": { - "Type": { + "DirectoryId": { "type": "string" } }, + "required": [ + "DirectoryId" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { "additionalProperties": false, "properties": { - "Arn": { + "SAMLProviderArn": { "type": "string" }, - "Name": { + "SelfServiceSAMLProviderArn": { "type": "string" } }, + "required": [ + "SAMLProviderArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { - "MarketType": { + "ResourceType": { "type": "string" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceType", + "Tags" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { + "AWS::EC2::ClientVpnRoute": { "additionalProperties": false, "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -26953,26 +29024,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "ClientVpnEndpointId": { "type": "string" }, - "LocalGatewayRouteTableId": { + "Description": { "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { "type": "string" } }, "required": [ + "ClientVpnEndpointId", "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" + "TargetVpcSubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::EC2::ClientVpnRoute" ], "type": "string" }, @@ -26991,7 +29065,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "AWS::EC2::ClientVpnTargetNetworkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27023,25 +29097,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayRouteTableId": { + "ClientVpnEndpointId": { "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags" - }, - "VpcId": { + "SubnetId": { "type": "string" } }, "required": [ - "LocalGatewayRouteTableId", - "VpcId" + "ClientVpnEndpointId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" }, @@ -27060,19 +29131,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NatGateway": { + "AWS::EC2::CustomerGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27104,10 +29163,10 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { - "type": "string" + "BgpAsn": { + "type": "number" }, - "SubnetId": { + "IpAddress": { "type": "string" }, "Tags": { @@ -27115,17 +29174,21 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "AllocationId", - "SubnetId" + "BgpAsn", + "IpAddress", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NatGateway" + "AWS::EC2::CustomerGateway" ], "type": "string" }, @@ -27144,7 +29207,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::NetworkAcl": { + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27176,24 +29239,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpcId": { - "type": "string" } }, - "required": [ - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::EC2::DHCPOptions" ], "type": "string" }, @@ -27207,12 +29288,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkAclEntry": { + "AWS::EC2::EC2Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27244,45 +29324,55 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { + "ExcessCapacityTerminationPolicy": { "type": "string" }, - "Egress": { + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" + }, + "type": "array" + }, + "OnDemandOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { "type": "boolean" }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" }, - "Ipv6CidrBlock": { - "type": "string" + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + }, + "type": "array" }, - "NetworkAclId": { - "type": "string" + "TargetCapacitySpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + "TerminateInstancesWithExpiration": { + "type": "boolean" }, - "Protocol": { - "type": "number" + "Type": { + "type": "string" }, - "RuleAction": { + "ValidFrom": { "type": "string" }, - "RuleNumber": { - "type": "number" + "ValidUntil": { + "type": "string" } }, "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" + "LaunchTemplateConfigs", + "TargetCapacitySpecification" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::EC2::EC2Fleet" ], "type": "string" }, @@ -27301,163 +29391,190 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry.Icmp": { + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { "additionalProperties": false, "properties": { - "Code": { - "type": "number" + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" }, - "Type": { - "type": "number" + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" } }, "type": "object" }, - "AWS::EC2::NetworkAclEntry.PortRange": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { "additionalProperties": false, "properties": { - "From": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { "type": "number" }, - "To": { + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInterface": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LaunchTemplateId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LaunchTemplateName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], + "MaxTotalPrice": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Primary": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { "type": "boolean" }, - "PrivateIpAddress": { + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" } }, "required": [ - "Primary", - "PrivateIpAddress" + "TotalTargetCapacity" ], "type": "object" }, - "AWS::EC2::NetworkInterfaceAttachment": { + "AWS::EC2::EIP": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27489,29 +29606,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { + "Domain": { "type": "string" }, "InstanceId": { "type": "string" }, - "NetworkInterfaceId": { + "PublicIpv4Pool": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::EC2::EIP" ], "type": "string" }, @@ -27525,12 +29640,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInterfacePermission": { + "AWS::EC2::EIPAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27562,26 +29676,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { "type": "string" }, "NetworkInterfaceId": { "type": "string" }, - "Permission": { + "PrivateIpAddress": { "type": "string" } }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::EC2::EIPAssociation" ], "type": "string" }, @@ -27595,12 +29710,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::PlacementGroup": { + "AWS::EC2::EgressOnlyInternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27632,15 +29746,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Strategy": { + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" }, @@ -27654,11 +29771,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::PrefixList": { + "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27690,19 +29808,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { + "DeliverLogsPermissionArn": { "type": "string" }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" + "LogDestination": { + "type": "string" }, - "MaxEntries": { + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { "type": "number" }, - "PrefixListName": { + "ResourceId": { + "type": "string" + }, + "ResourceType": { "type": "string" }, "Tags": { @@ -27710,18 +29837,21 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficType": { + "type": "string" } }, "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" + "ResourceId", + "ResourceType", + "TrafficType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PrefixList" + "AWS::EC2::FlowLog" ], "type": "string" }, @@ -27740,22 +29870,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { + "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27787,54 +29902,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, "GatewayId": { "type": "string" }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, "RouteTableId": { "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" } }, "required": [ + "GatewayId", "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Route" + "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" }, @@ -27853,7 +29936,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::RouteTable": { + "AWS::EC2::Host": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27885,24 +29968,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "AutoPlacement": { + "type": "string" }, - "VpcId": { + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { "type": "string" } }, "required": [ - "VpcId" + "AvailabilityZone", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteTable" + "AWS::EC2::Host" ], "type": "string" }, @@ -27921,9 +30008,12 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::SecurityGroup": { + "AWS::EC2::Instance": { "additionalProperties": false, "properties": { + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -27953,42 +30043,159 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupDescription": { + "AdditionalInfo": { "type": "string" }, - "GroupName": { + "Affinity": { "type": "string" }, - "SecurityGroupEgress": { + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" }, "type": "array" }, - "SecurityGroupIngress": { + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" }, "type": "array" }, + "SubnetId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcId": { + "Tenancy": { "type": "string" + }, + "UserData": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" } }, - "required": [ - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::EC2::Instance" ], "type": "string" }, @@ -28002,171 +30209,295 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Egress": { + "AWS::EC2::Instance.AssociationParameter": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { + "Key": { "type": "string" }, - "ToPort": { - "type": "number" + "Value": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "IpProtocol" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Ingress": { + "AWS::EC2::Instance.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "CidrIp": { + "DeviceName": { "type": "string" }, - "CidrIpv6": { + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + }, + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" }, - "Description": { + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" }, - "FromPort": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { "type": "number" }, - "IpProtocol": { + "KmsKeyId": { "type": "string" }, - "SourcePrefixListId": { + "SnapshotId": { "type": "string" }, - "SourceSecurityGroupId": { + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" }, - "SourceSecurityGroupName": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { "type": "string" }, - "SourceSecurityGroupOwnerId": { + "LaunchTemplateName": { "type": "string" }, - "ToPort": { - "type": "number" + "Version": { + "type": "string" } }, "required": [ - "IpProtocol" + "Version" ], "type": "object" }, - "AWS::EC2::SecurityGroupEgress": { + "AWS::EC2::Instance.LicenseSpecification": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LicenseConfigurationArn": { "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeleteOnTermination": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DeviceIndex" ], "type": "object" }, - "AWS::EC2::SecurityGroupIngress": { + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28198,51 +30529,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "IpProtocol" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::EC2::InternetGateway" ], "type": "string" }, @@ -28256,12 +30554,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet": { + "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28293,18 +30590,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" } }, - "required": [ - "SpotFleetRequestConfigData" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SpotFleet" + "AWS::EC2::LaunchTemplate" ], "type": "string" }, @@ -28318,19 +30615,18 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { "additionalProperties": false, "properties": { "DeviceName": { "type": "string" }, "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" }, "NoDevice": { "type": "string" @@ -28339,39 +30635,54 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "DeviceName" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { - "Name": { + "CapacityReservationPreference": { "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { "additionalProperties": false, "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" } }, - "required": [ - "ClassicLoadBalancers" - ], "type": "object" }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { "additionalProperties": false, "properties": { "DeleteOnTermination": { @@ -28383,9 +30694,15 @@ var CloudformationSchema = `{ "Iops": { "type": "number" }, + "KmsKeyId": { + "type": "string" + }, "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -28395,366 +30712,361 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Version" - ], "type": "object" }, - "AWS::EC2::SpotFleet.GroupIdentifier": { + "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { - "GroupId": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "GroupId" - ], "type": "object" }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "Name": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { "additionalProperties": false, "properties": { "Ipv6Address": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" }, - "DeleteOnTermination": { - "type": "boolean" + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" }, - "Description": { - "type": "string" + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" }, - "DeviceIndex": { - "type": "number" + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" }, - "Groups": { + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" }, "type": "array" }, - "Ipv6AddressCount": { - "type": "number" + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" + }, + "type": "array" }, - "Ipv6Addresses": { + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" }, "type": "array" }, - "NetworkInterfaceId": { + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { "type": "string" }, - "PrivateIpAddresses": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + "type": "string" }, "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "type": "number" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "SubnetId": { + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + "Count": { + "type": "number" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "AWS::EC2::LaunchTemplate.LicenseSpecification": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { + "LicenseConfigurationArn": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.MetadataOptions": { "additionalProperties": false, "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + "HttpEndpoint": { + "type": "string" }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "AWS::EC2::LaunchTemplate.Monitoring": { "additionalProperties": false, "properties": { - "Primary": { + "Enabled": { "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" } }, - "required": [ - "PrivateIpAddress" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "AWS::EC2::LaunchTemplate.NetworkInterface": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { + "AssociateCarrierIpAddress": { "type": "boolean" }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "AssociatePublicIpAddress": { + "type": "boolean" }, - "KernelId": { - "type": "string" + "DeleteOnTermination": { + "type": "boolean" }, - "KeyName": { + "Description": { "type": "string" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + "DeviceIndex": { + "type": "number" }, - "NetworkInterfaces": { + "Groups": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + "type": "string" }, "type": "array" }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { + "InterfaceType": { "type": "string" }, - "SecurityGroups": { + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" }, "type": "array" }, - "SpotPrice": { + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { "type": "string" }, - "SubnetId": { + "PrivateIpAddress": { "type": "string" }, - "TagSpecifications": { + "PrivateIpAddresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" }, "type": "array" }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { + "SecondaryPrivateIpAddressCount": { "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + }, + "SubnetId": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "AWS::EC2::LaunchTemplate.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "ExcessCapacityTerminationPolicy": { + "AvailabilityZone": { "type": "string" }, - "IamFleetRole": { + "GroupName": { "type": "string" }, - "InstanceInterruptionBehavior": { + "HostId": { "type": "string" }, - "LaunchSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" - }, - "type": "array" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" - }, - "type": "array" - }, - "LoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" - }, - "ReplaceUnhealthyInstances": { - "type": "boolean" - }, - "SpotPrice": { + "HostResourceGroupArn": { "type": "string" }, - "TargetCapacity": { + "PartitionNumber": { "type": "number" }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { + "SpreadDomain": { "type": "string" }, - "ValidUntil": { + "Tenancy": { "type": "string" } }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { - "ResourceType": { - "type": "string" + "Primary": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "PrivateIpAddress": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotPlacement": { + "AWS::EC2::LaunchTemplate.SpotOptions": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { "type": "string" }, - "GroupName": { + "MaxPrice": { "type": "string" }, - "Tenancy": { + "SpotInstanceType": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { + }, + "ValidUntil": { "type": "string" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "AWS::EC2::LaunchTemplate.TagSpecification": { "additionalProperties": false, "properties": { - "TargetGroups": { + "ResourceType": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + "$ref": "#/definitions/Tag" }, "type": "array" } }, - "required": [ - "TargetGroups" - ], "type": "object" }, - "AWS::EC2::Subnet": { + "AWS::EC2::LocalGatewayRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28786,43 +31098,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { + "DestinationCidrBlock": { "type": "string" }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { + "LocalGatewayRouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { + "LocalGatewayVirtualInterfaceGroupId": { "type": "string" } }, "required": [ - "CidrBlock", - "VpcId" + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Subnet" + "AWS::EC2::LocalGatewayRoute" ], "type": "string" }, @@ -28841,7 +31136,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetCidrBlock": { + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28873,22 +31168,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Ipv6CidrBlock": { + "LocalGatewayRouteTableId": { "type": "string" }, - "SubnetId": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "Ipv6CidrBlock", - "SubnetId" + "LocalGatewayRouteTableId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" }, @@ -28907,7 +31208,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetNetworkAclAssociation": { + "AWS::EC2::NatGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28939,22 +31240,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "AllocationId": { "type": "string" }, "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "NetworkAclId", + "AllocationId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::NatGateway" ], "type": "string" }, @@ -28973,7 +31280,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::NetworkAcl": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29005,22 +31312,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "SubnetId": { + "VpcId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::NetworkAcl" ], "type": "string" }, @@ -29039,7 +31348,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilter": { + "AWS::EC2::NetworkAclEntry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29071,27 +31380,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CidrBlock": { "type": "string" }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" + "Egress": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" } }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::EC2::NetworkAclEntry" ], "type": "string" }, @@ -29105,11 +31432,36 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule": { + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29141,50 +31493,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "TrafficDirection": { + "NetworkInsightsPathId": { "type": "string" }, - "TrafficMirrorFilterId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" + "NetworkInsightsPathId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::EC2::NetworkInsightsAnalysis" ], "type": "string" }, @@ -29203,112 +31535,391 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "ComponentArn": { + "type": "string" }, - "ToPort": { - "type": "number" + "ComponentId": { + "type": "string" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorSession": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Cidr": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Egress": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorTarget": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29340,13 +31951,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Destination": { "type": "string" }, - "NetworkInterfaceId": { + "DestinationIp": { "type": "string" }, - "NetworkLoadBalancerArn": { + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { "type": "string" }, "Tags": { @@ -29356,11 +31976,16 @@ var CloudformationSchema = `{ "type": "array" } }, + "required": [ + "Destination", + "Protocol", + "Source" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::EC2::NetworkInsightsPath" ], "type": "string" }, @@ -29374,11 +31999,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGateway": { + "AWS::EC2::NetworkInterface": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29410,25 +32036,43 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "AutoAcceptSharedAttachments": { + "Description": { "type": "string" }, - "DefaultRouteTableAssociation": { - "type": "string" + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" }, - "DefaultRouteTablePropagation": { + "InterfaceType": { "type": "string" }, - "Description": { - "type": "string" + "Ipv6AddressCount": { + "type": "number" }, - "DnsSupport": { + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { "type": "string" }, - "MulticastSupport": { + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { "type": "string" }, "Tags": { @@ -29436,16 +32080,16 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpnEcmpSupport": { - "type": "string" } }, + "required": [ + "SubnetId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGateway" + "AWS::EC2::NetworkInterface" ], "type": "string" }, @@ -29459,11 +32103,40 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment": { + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29495,35 +32168,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeleteOnTermination": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "DeviceIndex": { + "type": "string" }, - "TransitGatewayId": { + "InstanceId": { "type": "string" }, - "VpcId": { + "NetworkInterfaceId": { "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" }, @@ -29542,7 +32209,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::TransitGatewayRoute": { + "AWS::EC2::NetworkInterfacePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29574,27 +32241,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { + "AwsAccountId": { "type": "string" }, - "TransitGatewayAttachmentId": { + "NetworkInterfaceId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Permission": { "type": "string" } }, "required": [ - "TransitGatewayRouteTableId" + "AwsAccountId", + "NetworkInterfaceId", + "Permission" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::EC2::NetworkInterfacePermission" ], "type": "string" }, @@ -29613,7 +32279,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTable": { + "AWS::EC2::PlacementGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29645,24 +32311,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { + "Strategy": { "type": "string" } }, - "required": [ - "TransitGatewayId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::EC2::PlacementGroup" ], "type": "string" }, @@ -29676,12 +32333,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::PrefixList": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29713,22 +32369,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "AddressFamily": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" + "AddressFamily", + "MaxEntries", + "PrefixListName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::EC2::PrefixList" ], "type": "string" }, @@ -29747,7 +32419,22 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29779,167 +32466,54 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "CarrierGatewayId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "DestinationCidrBlock": { "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "DestinationIpv6CidrBlock": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { + "EgressOnlyInternetGatewayId": { "type": "string" }, - "EnableDnsHostnames": { - "type": "boolean" + "GatewayId": { + "type": "string" }, - "EnableDnsSupport": { - "type": "boolean" + "InstanceId": { + "type": "string" }, - "InstanceTenancy": { + "LocalGatewayId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "NatGatewayId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" + "NetworkInterfaceId": { + "type": "string" }, - "CidrBlock": { + "RouteTableId": { "type": "string" }, - "VpcId": { + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { "type": "string" } }, "required": [ - "VpcId" + "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::EC2::Route" ], "type": "string" }, @@ -29958,7 +32532,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCDHCPOptionsAssociation": { + "AWS::EC2::RouteTable": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29990,22 +32564,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DhcpOptionsId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "VpcId": { "type": "string" } }, "required": [ - "DhcpOptionsId", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::EC2::RouteTable" ], "type": "string" }, @@ -30024,7 +32600,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCEndpoint": { + "AWS::EC2::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30056,49 +32632,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "GroupDescription": { + "type": "string" }, - "PrivateDnsEnabled": { - "type": "boolean" + "GroupName": { + "type": "string" }, - "RouteTableIds": { + "SecurityGroupEgress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" }, "type": "array" }, - "SecurityGroupIds": { + "SecurityGroupIngress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" }, "type": "array" }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcEndpointType": { - "type": "string" - }, "VpcId": { "type": "string" } }, "required": [ - "ServiceName", - "VpcId" + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::EC2::SecurityGroup" ], "type": "string" }, @@ -30117,214 +32686,79 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCEndpointConnectionNotification": { + "AWS::EC2::SecurityGroup.Egress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" + "DestinationPrefixListId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], + "DestinationSecurityGroupId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FromPort": { + "type": "number" + }, + "IpProtocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCEndpointService": { + "AWS::EC2::SecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" + "FromPort": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], + "IpProtocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePrefixListId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" + "SourceSecurityGroupId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], + "SourceSecurityGroupName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::SecurityGroupEgress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30356,24 +32790,43 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayId": { + "CidrIp": { "type": "string" }, - "VpcId": { + "CidrIpv6": { "type": "string" }, - "VpnGatewayId": { + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "IpProtocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "VpcId" + "GroupId", + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::EC2::SecurityGroupEgress" ], "type": "string" }, @@ -30392,7 +32845,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCPeeringConnection": { + "AWS::EC2::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30424,37 +32877,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PeerOwnerId": { + "CidrIp": { "type": "string" }, - "PeerRegion": { + "CidrIpv6": { "type": "string" }, - "PeerRoleArn": { + "Description": { "type": "string" }, - "PeerVpcId": { + "FromPort": { + "type": "number" + }, + "GroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "GroupName": { + "type": "string" }, - "VpcId": { + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "PeerVpcId", - "VpcId" + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::EC2::SecurityGroupIngress" ], "type": "string" }, @@ -30473,7 +32940,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNConnection": { + "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30505,43 +32972,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" } }, "required": [ - "CustomerGatewayId", - "Type" + "SpotFleetRequestConfigData" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnection" + "AWS::EC2::SpotFleet" ], "type": "string" }, @@ -30560,19 +33002,477 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "AWS::EC2::SpotFleet.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "PreSharedKey": { + "DeviceName": { "type": "string" }, - "TunnelInsideCidr": { + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { "type": "string" } }, + "required": [ + "DeviceName" + ], "type": "object" }, - "AWS::EC2::VPNConnectionRoute": { + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" + }, + "type": "array" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + }, + "type": "array" + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30604,22 +33504,43 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "VpnConnectionId": { + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "DestinationCidrBlock", - "VpnConnectionId" + "CidrBlock", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::EC2::Subnet" ], "type": "string" }, @@ -30638,7 +33559,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNGateway": { + "AWS::EC2::SubnetCidrBlock": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30670,27 +33591,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Ipv6CidrBlock": { + "type": "string" }, - "Type": { + "SubnetId": { "type": "string" } }, "required": [ - "Type" + "Ipv6CidrBlock", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGateway" + "AWS::EC2::SubnetCidrBlock" ], "type": "string" }, @@ -30709,7 +33625,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNGatewayRoutePropagation": { + "AWS::EC2::SubnetNetworkAclAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30741,25 +33657,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpnGatewayId": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { "type": "string" } }, "required": [ - "RouteTableIds", - "VpnGatewayId" + "NetworkAclId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" }, @@ -30778,7 +33691,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::Volume": { + "AWS::EC2::SubnetRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30810,51 +33723,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { + "RouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeType": { + "SubnetId": { "type": "string" } }, "required": [ - "AvailabilityZone" + "RouteTableId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Volume" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" }, @@ -30873,7 +33757,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::VolumeAttachment": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30905,26 +33789,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Device": { + "Description": { "type": "string" }, - "InstanceId": { - "type": "string" + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" }, - "VolumeId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VolumeAttachment" + "AWS::EC2::TrafficMirrorFilter" ], "type": "string" }, @@ -30938,12 +33823,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::EC2::TrafficMirrorFilterRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30975,33 +33859,50 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { - "type": "object" + "Description": { + "type": "string" }, - "ImageTagMutability": { + "DestinationCidrBlock": { "type": "string" }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, - "RepositoryName": { + "Protocol": { + "type": "number" + }, + "RuleAction": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" + "RuleNumber": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" } }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" }, @@ -31015,23 +33916,28 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { - "LifecyclePolicyText": { - "type": "string" + "FromPort": { + "type": "number" }, - "RegistryId": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::ECS::CapacityProvider": { + "AWS::EC2::TrafficMirrorSession": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31063,27 +33969,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + "Description": { + "type": "string" }, - "Name": { + "NetworkInterfaceId": { "type": "string" }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" } }, "required": [ - "AutoScalingGroupProvider" + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::EC2::TrafficMirrorSession" ], "type": "string" }, @@ -31102,43 +34026,77 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::EC2::TrafficMirrorTarget": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumScalingStepSize": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "Status": { + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], "type": "string" }, - "TargetCapacity": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::Cluster": { + "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31170,39 +34128,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" + "AmazonSideAsn": { + "type": "number" }, - "ClusterName": { + "AutoAcceptSharedAttachments": { "type": "string" }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" + "DefaultRouteTableAssociation": { + "type": "string" }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" + "DefaultRouteTablePropagation": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DnsSupport": { + "type": "string" + }, + "MulticastSupport": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpnEcmpSupport": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Cluster" + "AWS::EC2::TransitGateway" ], "type": "string" }, @@ -31220,34 +34181,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "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": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::EC2::TransitGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31279,26 +34213,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Service": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { "type": "string" }, - "TaskSetId": { + "VpcId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskSetId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::EC2::TransitGatewayAttachment" ], "type": "string" }, @@ -31317,7 +34260,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ECS::Service": { + "AWS::EC2::TransitGatewayConnect": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31349,77 +34292,8 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" }, "Tags": { "items": { @@ -31427,15 +34301,19 @@ var CloudformationSchema = `{ }, "type": "array" }, - "TaskDefinition": { + "TransportTransitGatewayAttachmentId": { "type": "string" } }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::EC2::TransitGatewayConnect" ], "type": "string" }, @@ -31449,143 +34327,507 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.AwsVpcConfiguration": { + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { "additionalProperties": false, "properties": { - "AssignPublicIp": { + "Protocol": { "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { + "AWS::EC2::TransitGatewayMulticastDomain": { "additionalProperties": false, "properties": { - "Base": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CapacityProvider": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], "type": "string" }, - "Weight": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { "additionalProperties": false, "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.LoadBalancer": { + "AWS::EC2::TransitGatewayMulticastGroupMember": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LoadBalancerName": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], "type": "string" }, - "TargetGroupArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.NetworkConfiguration": { + "AWS::EC2::TransitGatewayMulticastGroupSource": { "additionalProperties": false, "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.PlacementConstraint": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { - "Expression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.PlacementStrategy": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { - "Field": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.ServiceRegistry": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Port": { - "type": "number" + "Metadata": { + "type": "object" }, - "RegistryArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition": { + "AWS::EC2::TransitGatewayRouteTablePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31617,75 +34859,99 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { + "TransitGatewayAttachmentId": { "type": "string" }, - "ExecutionRoleArn": { + "TransitGatewayRouteTableId": { "type": "string" - }, - "Family": { + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "InferenceAccelerators": { + { "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" - }, - "IpcMode": { + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { "type": "string" }, - "Memory": { - "type": "string" + "EnableDnsHostnames": { + "type": "boolean" }, - "NetworkMode": { - "type": "string" + "EnableDnsSupport": { + "type": "boolean" }, - "PidMode": { + "InstanceTenancy": { "type": "string" }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" } }, + "required": [ + "CidrBlock" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskDefinition" + "AWS::EC2::VPC" ], "type": "string" }, @@ -31699,657 +34965,452 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "AWS::EC2::VPCCidrBlock": { "additionalProperties": false, "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" }, "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { + "Type": { + "enum": [ + "AWS::EC2::VPCCidrBlock" + ], "type": "string" }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.ContainerDependency": { + "AWS::EC2::VPCDHCPOptionsAssociation": { "additionalProperties": false, "properties": { - "Condition": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HostPath": { - "type": "string" + "Metadata": { + "type": "object" }, - "Permissions": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } }, - "type": "array" + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "AWS::EC2::VPCEndpoint": { "additionalProperties": false, "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, + ] + }, + "Metadata": { "type": "object" }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "ServiceName", + "VpcId" + ], "type": "object" }, - "Scope": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "AWS::EC2::VPCEndpointConnectionNotification": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "FilesystemId": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" }, - "RootDirectory": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], "type": "string" }, - "TransitEncryption": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" } }, "required": [ - "FilesystemId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { + "AWS::EC2::VPCEndpointService": { "additionalProperties": false, "properties": { - "Type": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.HealthCheck": { + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" + "Metadata": { + "type": "object" }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { "type": "string" } }, + "required": [ + "ServiceId" + ], "type": "object" }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32381,53 +35442,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { + "InternetGatewayId": { "type": "string" }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { + "VpcId": { "type": "string" }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { + "VpnGatewayId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskDefinition" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskSet" + "AWS::EC2::VPCGatewayAttachment" ], "type": "string" }, @@ -32446,88 +35478,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { + "AWS::EC2::VPCPeeringConnection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32559,33 +35510,37 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" + "PeerOwnerId": { + "type": "string" }, - "ClientToken": { + "PeerRegion": { "type": "string" }, - "FileSystemId": { + "PeerRoleArn": { "type": "string" }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + "PeerVpcId": { + "type": "string" }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" } }, "required": [ - "FileSystemId" + "PeerVpcId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::AccessPoint" + "AWS::EC2::VPCPeeringConnection" ], "type": "string" }, @@ -32604,81 +35559,15 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EFS::AccessPoint.AccessPointTag": { + "AWS::EC2::VPNConnection": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "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": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -32702,45 +35591,43 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + "CustomerGatewayId": { + "type": "string" }, - "Encrypted": { + "StaticRoutesOnly": { "type": "boolean" }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KmsKeyId": { + "TransitGatewayId": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "Type": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { + "VpnGatewayId": { "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" } }, + "required": [ + "CustomerGatewayId", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EC2::VPNConnection" ], "type": "string" }, @@ -32754,51 +35641,24 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { "additionalProperties": false, "properties": { - "Key": { + "PreSharedKey": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { + "TunnelInsideCidr": { "type": "string" } }, - "required": [ - "TransitionToIA" - ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32830,32 +35690,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { + "DestinationCidrBlock": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { + "VpnConnectionId": { "type": "string" } }, "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" + "DestinationCidrBlock", + "VpnConnectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::MountTarget" + "AWS::EC2::VPNConnectionRoute" ], "type": "string" }, @@ -32874,7 +35724,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EC2::VPNGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32906,37 +35756,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfig": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, "required": [ - "ResourcesVpcConfig", - "RoleArn" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Cluster" + "AWS::EC2::VPNGateway" ], "type": "string" }, @@ -32955,61 +35795,7 @@ 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.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { + "AWS::EC2::VPNGatewayRoutePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33041,44 +35827,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { + "RouteTableIds": { "items": { "type": "string" }, "type": "array" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "VpnGatewayId": { + "type": "string" } }, "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" + "RouteTableIds", + "VpnGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::FargateProfile" + "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" }, @@ -33097,41 +35864,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { + "AWS::EC2::Volume": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33163,68 +35896,54 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AmiType": { - "type": "string" + "AutoEnableIO": { + "type": "boolean" }, - "ClusterName": { + "AvailabilityZone": { "type": "string" }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { + "Encrypted": { "type": "boolean" }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + "Iops": { + "type": "number" }, - "NodeRole": { + "KmsKeyId": { "type": "string" }, - "NodegroupName": { - "type": "string" + "MultiAttachEnabled": { + "type": "boolean" }, - "ReleaseVersion": { + "OutpostArn": { "type": "string" }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + "Size": { + "type": "number" }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + "SnapshotId": { + "type": "string" }, - "Subnets": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "type": "object" + "Throughput": { + "type": "number" }, - "Version": { + "VolumeType": { "type": "string" } }, "required": [ - "ClusterName", - "NodeRole", - "Subnets" + "AvailabilityZone" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Nodegroup" + "AWS::EC2::Volume" ], "type": "string" }, @@ -33243,55 +35962,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { + "AWS::EC2::VolumeAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33323,99 +35994,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { + "Device": { "type": "string" }, - "SecurityConfiguration": { + "InstanceId": { "type": "string" }, - "ServiceRole": { + "VolumeId": { "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" } }, "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" + "Device", + "InstanceId", + "VolumeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Cluster" + "AWS::EC2::VolumeAttachment" ], "type": "string" }, @@ -33434,412 +36032,542 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EMR::Cluster.Application": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "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" }, - "Args": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "Name": { - "type": "string" + "type": "object" }, - "Version": { + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, "required": [ - "Name", - "ScriptBootstrapAction" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { - "ComparisonOperator": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Namespace": { - "type": "string" + "Metadata": { + "type": "object" }, - "Period": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" }, - "Statistic": { + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], "type": "string" }, - "Threshold": { - "type": "number" - }, - "Unit": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.ComputeLimits": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { - "MaximumCapacityUnits": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MaximumCoreCapacityUnits": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaximumOnDemandCapacityUnits": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumCapacityUnits": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" }, - "UnitType": { + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.Configuration": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { + "Rules": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" }, "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + "Region": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "RegistryId": { + "type": "string" } }, "required": [ - "VolumeSpecification" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::EMR::Cluster.EbsConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { + "Destinations": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" }, "type": "array" - }, - "EbsOptimized": { - "type": "boolean" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { + "AWS::ECR::Repository": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "type": "object" }, - "Jar": { + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], "type": "string" }, - "MainClass": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" } }, "required": [ - "Jar" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceFleetConfig": { + "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { + "LifecyclePolicyText": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + "RegistryId": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::Cluster.InstanceGroupConfig": { + "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InstanceCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "InstanceType": { - "type": "string" + "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" }, - "Market": { + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], "type": "string" }, - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceCount", - "InstanceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceTypeConfig": { + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { "additionalProperties": false, "properties": { - "BidPrice": { + "AutoScalingGroupArn": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" }, - "InstanceType": { + "ManagedTerminationProtection": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "required": [ - "InstanceType" + "AutoScalingGroupArn" ], "type": "object" }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "AWS::ECS::CapacityProvider.ManagedScaling": { "additionalProperties": false, "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + "MaximumScalingStepSize": { + "type": "number" }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + "MinimumScalingStepSize": { + "type": "number" }, - "Ec2KeyName": { + "Status": { "type": "string" }, - "Ec2SubnetId": { + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EmrManagedMasterSecurityGroup": { - "type": "string" + "Metadata": { + "type": "object" }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "HadoopVersion": { + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], "type": "string" }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" - }, - "ServiceAccessSecurityGroup": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TerminationProtected": { - "type": "boolean" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EMR::Cluster.KerberosAttributes": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" + "Base": { + "type": "number" }, - "KdcAdminPassword": { + "CapacityProvider": { "type": "string" }, - "Realm": { - "type": "string" + "Weight": { + "type": "number" } }, - "required": [ - "KdcAdminPassword", - "Realm" - ], "type": "object" }, - "AWS::EMR::Cluster.KeyValue": { + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, "Value": { @@ -33848,218 +36576,364 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "AWS::ECS::Service": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AllocationStrategy" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.PlacementType": { + "AWS::ECS::Service.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AssignPublicIp": { "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AvailabilityZone" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingAction": { + "AWS::ECS::Service.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "Market": { + "Base": { + "type": "number" + }, + "CapacityProvider": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + "Weight": { + "type": "number" } }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingConstraints": { + "AWS::ECS::Service.DeploymentCircuitBreaker": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "type": "number" + "Enable": { + "type": "boolean" }, - "MinCapacity": { - "type": "number" + "Rollback": { + "type": "boolean" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "Enable", + "Rollback" ], "type": "object" }, - "AWS::EMR::Cluster.ScalingRule": { + "AWS::ECS::Service.DeploymentConfiguration": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" }, - "Name": { - "type": "string" + "MaximumPercent": { + "type": "number" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + "MinimumHealthyPercent": { + "type": "number" } }, - "required": [ - "Action", - "Name", - "Trigger" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingTrigger": { + "AWS::ECS::Service.DeploymentController": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + "Type": { + "type": "string" } }, - "required": [ - "CloudWatchAlarmDefinition" - ], "type": "object" }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "AWS::ECS::Service.LoadBalancer": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "ContainerName": { + "type": "string" }, - "Path": { + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { "type": "string" } }, - "required": [ - "Path" - ], "type": "object" }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "AWS::ECS::Service.NetworkConfiguration": { "additionalProperties": false, "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" } }, - "required": [ - "ScalingAdjustment" - ], "type": "object" }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "AWS::ECS::Service.PlacementConstraint": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Expression": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "Type": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.StepConfig": { + "AWS::ECS::Service.PlacementStrategy": { "additionalProperties": false, "properties": { - "ActionOnFailure": { + "Field": { "type": "string" }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { + "Type": { "type": "string" } }, "required": [ - "HadoopJarStep", - "Name" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.VolumeSpecification": { + "AWS::ECS::Service.ServiceRegistry": { "additionalProperties": false, "properties": { - "Iops": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { "type": "number" }, - "SizeInGB": { + "Port": { "type": "number" }, - "VolumeType": { + "RegistryArn": { "type": "string" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig": { + "AWS::ECS::TaskDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34091,65 +36965,138 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ClusterId": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { "type": "string" }, - "InstanceFleetType": { + "ExecutionRoleArn": { "type": "string" }, - "InstanceTypeConfigs": { + "Family": { + "type": "string" + }, + "InferenceAccelerators": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" }, "type": "array" }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + "IpcMode": { + "type": "string" }, - "Name": { + "Memory": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" + "NetworkMode": { + "type": "string" }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.Configuration": { + "AWS::ECS::TaskDefinition.AuthorizationConfig": { "additionalProperties": false, "properties": { - "Classification": { + "AccessPointId": { "type": "string" }, - "ConfigurationProperties": { + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34158,303 +37105,247 @@ var CloudformationSchema = `{ }, "type": "object" }, - "Configurations": { + "DockerSecurityOptions": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { + "EntryPoint": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + "type": "string" }, "type": "array" }, - "EbsOptimized": { + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" + "Image": { + "type": "string" }, - "Configurations": { + "Interactive": { + "type": "boolean" + }, + "Links": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" }, - "InstanceType": { + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "WeightedCapacity": { + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { "type": "string" } }, - "required": [ - "AllocationStrategy" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "AWS::ECS::TaskDefinition.ContainerDependency": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Condition": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "ContainerName": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Device": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" + "ContainerPath": { + "type": "string" }, - "VolumeType": { + "HostPath": { "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig": { + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Autoprovision": { + "type": "boolean" + }, + "Driver": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" + "AuthorizationConfig": { + "type": "object" }, - "MetricName": { + "FilesystemId": { "type": "string" }, - "Namespace": { + "RootDirectory": { "type": "string" }, - "Period": { - "type": "number" - }, - "Statistic": { + "TransitEncryption": { "type": "string" }, - "Threshold": { + "TransitEncryptionPort": { "type": "number" - }, - "Unit": { - "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "FilesystemId" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { + "AWS::ECS::TaskDefinition.EnvironmentFile": { "additionalProperties": false, "properties": { - "Classification": { + "Type": { "type": "string" }, - "ConfigurationProperties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34463,165 +37354,350 @@ var CloudformationSchema = `{ }, "type": "object" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "AWS::ECS::TaskDefinition.HealthCheck": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + "Command": { + "items": { + "type": "string" + }, + "type": "array" }, - "VolumesPerInstance": { + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { "type": "number" } }, - "required": [ - "VolumeSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "AWS::ECS::TaskDefinition.HostEntry": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" + "Hostname": { + "type": "string" }, - "EbsOptimized": { - "type": "boolean" + "IpAddress": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "AWS::ECS::TaskDefinition.HostVolumeProperties": { "additionalProperties": false, "properties": { - "Key": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Drop": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, "Value": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "AWS::ECS::TaskDefinition.LinuxParameters": { "additionalProperties": false, "properties": { - "Market": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" } }, "required": [ - "SimpleScalingPolicyConfiguration" + "LogDriver" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "AWS::ECS::TaskDefinition.MountPoint": { "additionalProperties": false, "properties": { - "MaxCapacity": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { "type": "number" }, - "MinCapacity": { + "HostPort": { "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "ContainerName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "AWS::ECS::TaskDefinition.RepositoryCredentials": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { "Name": { "type": "string" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + "ValueFrom": { + "type": "string" } }, "required": [ - "Action", "Name", - "Trigger" + "ValueFrom" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "AWS::ECS::TaskDefinition.SystemControl": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "CloudWatchAlarmDefinition" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "AWS::ECS::TaskDefinition.Tmpfs": { "additionalProperties": false, "properties": { - "AdjustmentType": { + "ContainerPath": { "type": "string" }, - "CoolDown": { - "type": "number" + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScalingAdjustment": { + "Size": { "type": "number" } }, "required": [ - "ScalingAdjustment" + "Size" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Ulimit": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { + "HardLimit": { "type": "number" }, - "VolumeType": { + "Name": { "type": "string" + }, + "SoftLimit": { + "type": "number" } }, "required": [ - "SizeInGB", - "VolumeType" + "HardLimit", + "Name", + "SoftLimit" ], "type": "object" }, - "AWS::EMR::SecurityConfiguration": { + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34653,21 +37729,53 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "Cluster": { "type": "string" }, - "SecurityConfiguration": { - "type": "object" + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" } }, "required": [ - "SecurityConfiguration" + "Cluster", + "Service", + "TaskDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::SecurityConfiguration" + "AWS::ECS::TaskSet" ], "type": "string" }, @@ -34686,7 +37794,88 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EMR::Step": { + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34718,30 +37907,33 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" }, - "JobFlowId": { + "ClientToken": { "type": "string" }, - "Name": { + "FileSystemId": { "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" + "FileSystemId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Step" + "AWS::EFS::AccessPoint" ], "type": "string" }, @@ -34760,46 +37952,73 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EMR::Step.HadoopJarStepConfig": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "Key": { + "type": "string" }, - "Jar": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { "type": "string" }, - "MainClass": { + "OwnerUid": { "type": "string" }, - "StepProperties": { + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + "type": "string" }, "type": "array" + }, + "Uid": { + "type": "string" } }, "required": [ - "Jar" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EMR::Step.KeyValue": { + "AWS::EFS::AccessPoint.RootDirectory": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" }, - "Value": { + "Path": { "type": "string" } }, "type": "object" }, - "AWS::ElastiCache::CacheCluster": { + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34831,95 +38050,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, - "AutoMinorVersionUpgrade": { + "Encrypted": { "type": "boolean" }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" + "FileSystemPolicy": { + "type": "object" }, - "CacheSecurityGroupNames": { + "FileSystemTags": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" }, "type": "array" }, - "CacheSubnetGroupName": { + "KmsKeyId": { "type": "string" }, - "ClusterName": { + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { "type": "string" }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { + "ProvisionedThroughputInMibps": { "type": "number" }, - "SnapshotWindow": { + "ThroughputMode": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::EFS::FileSystem" ], "type": "string" }, @@ -34933,12 +38102,51 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElastiCache::ParameterGroup": { + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "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": { @@ -34970,31 +38178,32 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheParameterGroupFamily": { + "FileSystemId": { "type": "string" }, - "Description": { + "IpAddress": { "type": "string" }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "SecurityGroups": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" + }, + "SubnetId": { + "type": "string" } }, "required": [ - "CacheParameterGroupFamily", - "Description" + "FileSystemId", + "SecurityGroups", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::EFS::MountTarget" ], "type": "string" }, @@ -35013,7 +38222,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup": { + "AWS::EKS::Addon": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35045,109 +38254,19 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { + "AddonName": { "type": "string" }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { + "AddonVersion": { "type": "string" }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { + "ClusterName": { "type": "string" }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "ResolveConflicts": { "type": "string" }, - "SnapshottingClusterId": { + "ServiceAccountRoleArn": { "type": "string" }, "Tags": { @@ -35155,19 +38274,17 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" } }, "required": [ - "ReplicationGroupDescription" + "AddonName", + "ClusterName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::EKS::Addon" ], "type": "string" }, @@ -35186,31 +38303,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { + "AWS::EKS::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35242,18 +38335,37 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { "type": "string" } }, "required": [ - "Description" + "ResourcesVpcConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::EKS::Cluster" ], "type": "string" }, @@ -35272,7 +38384,61 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::SecurityGroupIngress": { + "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.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35304,25 +38470,44 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "ClusterName": { "type": "string" }, - "EC2SecurityGroupName": { + "FargateProfileName": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "PodExecutionRoleArn": { "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "ClusterName", + "PodExecutionRoleArn", + "Selectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::EKS::FargateProfile" ], "type": "string" }, @@ -35341,7 +38526,41 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::SubnetGroup": { + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35373,28 +38592,71 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheSubnetGroupName": { + "AmiType": { "type": "string" }, - "Description": { + "CapacityType": { "type": "string" }, - "SubnetIds": { + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { "items": { "type": "string" }, "type": "array" + }, + "Tags": { + "type": "object" + }, + "Version": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "ClusterName", + "NodeRole", + "Subnets" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::EKS::Nodegroup" ], "type": "string" }, @@ -35413,7 +38675,55 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application": { + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35445,21 +38755,99 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { + "AdditionalInfo": { + "type": "object" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { "type": "string" }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" } }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::EMR::Cluster" ], "type": "string" }, @@ -35473,712 +38861,637 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "AWS::EMR::Cluster.Application": { "additionalProperties": false, "properties": { - "ServiceRole": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + "Version": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "AWS::EMR::Cluster.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" } }, + "required": [ + "Constraints", + "Rules" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "AWS::EMR::Cluster.BootstrapActionConfig": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "MaxAgeInDays": { - "type": "number" + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" + "ComparisonOperator": { + "type": "string" }, - "Enabled": { - "type": "boolean" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" }, - "MaxCount": { + "EvaluationPeriods": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MetricName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Namespace": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" + "Period": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], + "Statistic": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "AWS::EMR::Cluster.ComputeLimits": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" + "MaximumCapacityUnits": { + "type": "number" }, - "S3Key": { + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { "type": "string" } }, "required": [ - "S3Bucket", - "S3Key" + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Classification": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, - "required": [ - "ApplicationName" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" }, - "Value": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "Namespace", - "OptionName" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "AWS::EMR::Cluster.EbsConfiguration": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" }, - "TemplateName": { - "type": "string" + "EbsOptimized": { + "type": "boolean" } }, - "required": [ - "ApplicationName", - "TemplateName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment": { + "AWS::EMR::Cluster.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } + "Args": { + "items": { + "type": "string" }, - "required": [ - "ApplicationName" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], + "Jar": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MainClass": { "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Jar" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "AWS::EMR::Cluster.InstanceFleetConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" }, - "OptionName": { - "type": "string" + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" }, - "ResourceName": { + "Name": { "type": "string" }, - "Value": { - "type": "string" + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" } }, - "required": [ - "Namespace", - "OptionName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.Tier": { + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" }, - "Version": { - "type": "string" + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer": { + "AWS::EMR::Cluster.InstanceGroupConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" + "InstanceCount": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], + "InstanceType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceCount", + "InstanceType" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "AWS::EMR::Cluster.InstanceTypeConfig": { "additionalProperties": false, "properties": { - "EmitInterval": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { "type": "number" }, - "Enabled": { + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { "type": "boolean" }, - "S3BucketName": { + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { "type": "string" }, - "S3BucketPrefix": { + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { "type": "string" } }, "required": [ - "Enabled", - "S3BucketName" + "KdcAdminPassword", + "Realm" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "AWS::EMR::Cluster.KeyValue": { "additionalProperties": false, "properties": { - "CookieName": { + "Key": { "type": "string" }, - "PolicyName": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "CookieName", - "PolicyName" + "Key", + "Value" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" + "AllocationStrategy": { + "type": "string" } }, "required": [ - "Enabled" + "AllocationStrategy" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { - "IdleTimeout": { - "type": "number" + "AvailabilityZone": { + "type": "string" } }, "required": [ - "IdleTimeout" + "AvailabilityZone" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "AWS::EMR::Cluster.ScalingAction": { "additionalProperties": false, "properties": { - "HealthyThreshold": { + "Market": { "type": "string" }, - "Interval": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Target": { - "type": "string" + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" }, - "Timeout": { + "Description": { "type": "string" }, - "UnhealthyThreshold": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" } }, "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "AWS::EMR::Cluster.ScalingTrigger": { "additionalProperties": false, "properties": { - "CookieExpirationPeriod": { - "type": "string" + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" }, - "PolicyName": { + "Path": { "type": "string" } }, + "required": [ + "Path" + ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { "additionalProperties": false, "properties": { - "InstancePort": { + "AdjustmentType": { "type": "string" }, - "InstanceProtocol": { - "type": "string" + "CoolDown": { + "type": "number" }, - "LoadBalancerPort": { + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" + "BlockDurationMinutes": { + "type": "number" }, - "Protocol": { + "TimeoutAction": { "type": "string" }, - "SSLCertificateId": { - "type": "string" + "TimeoutDurationMinutes": { + "type": "number" } }, "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" + "TimeoutAction", + "TimeoutDurationMinutes" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "AWS::EMR::Cluster.StepConfig": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" }, - "PolicyName": { + "Name": { "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" }, - "PolicyType": { + "SizeInGB": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "required": [ - "Attributes", - "PolicyName", - "PolicyType" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener": { + "AWS::EMR::InstanceFleetConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36210,46 +39523,40 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" + "ClusterId": { + "type": "string" }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" + "InstanceFleetType": { + "type": "string" }, - "DefaultActions": { + "InstanceTypeConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" }, "type": "array" }, - "LoadBalancerArn": { + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { "type": "string" }, - "Port": { + "TargetOnDemandCapacity": { "type": "number" }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" + "TargetSpotCapacity": { + "type": "number" } }, "required": [ - "DefaultActions", - "LoadBalancerArn" + "ClusterId", + "InstanceFleetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::EMR::InstanceFleetConfig" ], "type": "string" }, @@ -36268,227 +39575,485 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { + "AWS::EMR::InstanceFleetConfig.Configuration": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + "Classification": { + "type": "string" }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" }, - "Order": { + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { "type": "number" }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" }, - "TargetGroupArn": { + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { "type": "string" }, - "Type": { + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" } }, "required": [ - "Type" + "AllocationStrategy" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { + "AllocationStrategy": { "type": "string" }, - "Scope": { - "type": "string" + "BlockDurationMinutes": { + "type": "number" }, - "SessionCookieName": { + "TimeoutAction": { "type": "string" }, - "SessionTimeout": { + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { "type": "number" }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" + "SizeInGB": { + "type": "number" }, - "UserPoolDomain": { + "VolumeType": { "type": "string" } }, "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "AWS::EMR::InstanceGroupConfig": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "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": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], "type": "object" }, - "AuthorizationEndpoint": { + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], "type": "string" }, - "ClientId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" }, - "ClientSecret": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { "type": "string" }, - "Issuer": { - "type": "string" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" }, - "OnUnauthenticatedRequest": { - "type": "string" + "EvaluationPeriods": { + "type": "number" }, - "Scope": { + "MetricName": { "type": "string" }, - "SessionCookieName": { + "Namespace": { "type": "string" }, - "SessionTimeout": { + "Period": { "type": "number" }, - "TokenEndpoint": { + "Statistic": { "type": "string" }, - "UserInfoEndpoint": { + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "AWS::EMR::InstanceGroupConfig.Configuration": { "additionalProperties": false, "properties": { - "CertificateArn": { + "Classification": { "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" }, - "StatusCode": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "StatusCode" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { "additionalProperties": false, "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { + "EbsBlockDeviceConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" }, "type": "array" + }, + "EbsOptimized": { + "type": "boolean" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "AWS::EMR::InstanceGroupConfig.MetricDimension": { "additionalProperties": false, "properties": { - "Host": { + "Key": { "type": "string" }, - "Path": { + "Value": { "type": "string" - }, - "Port": { + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { "type": "string" }, - "Protocol": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Query": { + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { "type": "string" }, - "StatusCode": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" } }, "required": [ - "StatusCode" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { "additionalProperties": false, "properties": { - "DurationSeconds": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { "type": "number" }, - "Enabled": { - "type": "boolean" + "ScalingAdjustment": { + "type": "number" } }, + "required": [ + "ScalingAdjustment" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { "additionalProperties": false, "properties": { - "TargetGroupArn": { - "type": "string" + "Iops": { + "type": "number" }, - "Weight": { + "SizeInGB": { "type": "number" + }, + "VolumeType": { + "type": "string" } }, + "required": [ + "SizeInGB", + "VolumeType" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "AWS::EMR::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36520,25 +40085,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { + "Name": { "type": "string" + }, + "SecurityConfiguration": { + "type": "object" } }, "required": [ - "Certificates", - "ListenerArn" + "SecurityConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::EMR::SecurityConfiguration" ], "type": "string" }, @@ -36557,16 +40118,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { + "AWS::EMR::Step": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36598,36 +40150,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" }, - "ListenerArn": { + "JobFlowId": { "type": "string" }, - "Priority": { - "type": "number" + "Name": { + "type": "string" } }, "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::EMR::Step" ], "type": "string" }, @@ -36646,338 +40192,46 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "AWS::EMR::Step.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { + "Args": { "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" }, - "Query": { + "Jar": { "type": "string" }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "Field": { + "MainClass": { "type": "string" }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { + "StepProperties": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" }, "type": "array" } }, + "required": [ + "Jar" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "AWS::EMR::Step.KeyValue": { "additionalProperties": false, "properties": { - "TargetGroupArn": { + "Key": { "type": "string" }, - "Weight": { - "type": "number" + "Value": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "AWS::EMR::Studio": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37009,34 +40263,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "IpAddressType": { + "AuthMode": { "type": "string" }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" + "DefaultS3Location": { + "type": "string" }, - "Name": { + "Description": { "type": "string" }, - "Scheme": { + "EngineSecurityGroupId": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" + "ServiceRole": { + "type": "string" }, - "Subnets": { + "SubnetIds": { "items": { "type": "string" }, @@ -37048,15 +40293,32 @@ var CloudformationSchema = `{ }, "type": "array" }, - "Type": { + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { "type": "string" } }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::EMR::Studio" ], "type": "string" }, @@ -37070,44 +40332,86 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "AWS::EMR::StudioSessionMapping": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IPv6Address": { - "type": "string" + "Metadata": { + "type": "object" }, - "PrivateIPv4Address": { + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], "type": "string" }, - "SubnetId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { + "AWS::EMRContainers::VirtualCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37139,72 +40443,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" }, "Name": { "type": "string" }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" } }, + "required": [ + "ContainerProvider", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::EMRContainers::VirtualCluster" ], "type": "string" }, @@ -37218,50 +40478,56 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { "additionalProperties": false, "properties": { - "HttpCode": { - "type": "string" + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" } }, + "required": [ + "EksInfo" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, "Id": { "type": "string" }, - "Port": { - "type": "number" + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" } }, "required": [ - "Id" + "Id", + "Info", + "Type" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::EMRContainers::VirtualCluster.EksInfo": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { + "Namespace": { "type": "string" } }, + "required": [ + "Namespace" + ], "type": "object" }, - "AWS::Elasticsearch::Domain": { + "AWS::ElastiCache::CacheCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37293,56 +40559,71 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessPolicies": { - "type": "object" - }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + "CacheSubnetGroupName": { + "type": "string" }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + "ClusterName": { + "type": "string" }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + "Engine": { + "type": "string" }, - "DomainName": { + "EngineVersion": { "type": "string" }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + "NotificationTopicArn": { + "type": "string" }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + "NumCacheNodes": { + "type": "number" }, - "ElasticsearchVersion": { + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { "type": "string" }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + "SnapshotName": { + "type": "string" }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" }, "Tags": { "items": { @@ -37350,15 +40631,23 @@ var CloudformationSchema = `{ }, "type": "array" }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::ElastiCache::CacheCluster" ], "type": "string" }, @@ -37372,176 +40661,143 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { + "AWS::ElastiCache::GlobalReplicationGroup": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "EnforceHTTPS": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" + "Metadata": { + "type": "object" }, - "Iops": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" }, - "VolumeSize": { - "type": "number" + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" }, - "VolumeType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { "additionalProperties": false, "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { + "ReplicationGroupId": { "type": "string" }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { + "ReplicationGroupRegion": { "type": "string" }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { + "Role": { "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { "additionalProperties": false, "properties": { - "MasterUserARN": { + "ReplicationGroupId": { "type": "string" }, - "MasterUserName": { + "ReplicationGroupRegion": { "type": "string" }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.VPCOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "NodeGroupId": { + "type": "string" }, - "SubnetIds": { + "PreferredAvailabilityZones": { "items": { "type": "string" }, @@ -37550,16 +40806,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { + "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37591,27 +40838,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CacheParameterGroupFamily": { "type": "string" }, - "SourceArn": { + "Description": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "SourceArn" + "CacheParameterGroupFamily", + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Discoverer" + "AWS::ElastiCache::ParameterGroup" ], "type": "string" }, @@ -37630,23 +40881,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { + "AWS::ElastiCache::ReplicationGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37678,24 +40913,135 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { "type": "string" }, - "RegistryName": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" }, "type": "array" } }, + "required": [ + "ReplicationGroupDescription" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Registry" + "AWS::ElastiCache::ReplicationGroup" ], "type": "string" }, @@ -37709,27 +41055,36 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EventSchemas::Registry.TagsEntry": { + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "NodeGroupId": { "type": "string" }, - "Value": { + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EventSchemas::RegistryPolicy": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37761,25 +41116,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { + "Description": { "type": "string" } }, "required": [ - "Policy", - "RegistryName" + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::RegistryPolicy" + "AWS::ElastiCache::SecurityGroup" ], "type": "string" }, @@ -37798,7 +41146,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EventSchemas::Schema": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37830,38 +41178,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RegistryName": { + "CacheSecurityGroupName": { "type": "string" }, - "SchemaName": { + "EC2SecurityGroupName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { + "EC2SecurityGroupOwnerId": { "type": "string" } }, "required": [ - "Content", - "RegistryName", - "Type" + "CacheSecurityGroupName", + "EC2SecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Schema" + "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" }, @@ -37880,23 +41215,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::EventBus": { + "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37928,21 +41247,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EventSourceName": { + "CacheSubnetGroupName": { "type": "string" }, - "Name": { + "Description": { "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBus" + "AWS::ElastiCache::SubnetGroup" ], "type": "string" }, @@ -37961,7 +41287,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Events::EventBusPolicy": { + "AWS::ElastiCache::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37993,32 +41319,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "AccessString": { "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { + "Engine": { "type": "string" }, - "Principal": { + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { "type": "string" }, - "StatementId": { + "UserName": { "type": "string" } }, "required": [ - "Action", - "Principal", - "StatementId" + "Engine", + "UserId", + "UserName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::ElastiCache::User" ], "type": "string" }, @@ -38037,22 +41369,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { + "AWS::ElastiCache::UserGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38084,39 +41401,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { + "Engine": { "type": "string" }, - "State": { + "UserGroupId": { "type": "string" }, - "Targets": { + "UserIds": { "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" + "type": "string" }, "type": "array" } }, + "required": [ + "Engine", + "UserGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::ElastiCache::UserGroup" ], "type": "string" }, @@ -38130,324 +41436,130 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { + "AWS::ElasticBeanstalk::Application": { "additionalProperties": false, "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "type": "object" + ] }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + }, + "Description": { "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" } }, "type": "object" }, - "InputTemplate": { + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PartitionKeyPath" + "Type" ], "type": "object" }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { "additionalProperties": false, "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { + "ServiceRole": { "type": "string" }, - "WithEvent": { - "type": "boolean" + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" } }, - "required": [ - "Database", - "Sql" - ], "type": "object" }, - "AWS::Events::Rule.RetryPolicy": { + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { "additionalProperties": false, "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" } }, - "required": [ - "RunCommandTargets" - ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" } }, - "required": [ - "MessageGroupId" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::ElasticBeanstalk::Application.MaxCountRule": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + "Enabled": { + "type": "boolean" }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + "MaxCount": { + "type": "number" } }, - "required": [ - "Arn", - "Id" - ], "type": "object" }, - "AWS::FMS::NotificationChannel": { + "AWS::ElasticBeanstalk::ApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38479,22 +41591,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SnsRoleName": { + "ApplicationName": { "type": "string" }, - "SnsTopicArn": { + "Description": { "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" } }, "required": [ - "SnsRoleName", - "SnsTopicArn" + "ApplicationName", + "SourceBundle" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::NotificationChannel" + "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" }, @@ -38513,7 +41628,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::FMS::Policy": { + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38545,61 +41676,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + "ApplicationName": { + "type": "string" }, - "PolicyName": { + "Description": { "type": "string" }, - "RemediationEnabled": { - "type": "boolean" + "EnvironmentId": { + "type": "string" }, - "ResourceTags": { + "OptionSettings": { "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" }, "type": "array" }, - "ResourceType": { + "PlatformArn": { "type": "string" }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityServicePolicyData": { - "type": "object" + "SolutionStackName": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::Policy" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" }, @@ -38618,28 +41727,16 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::FMS::Policy.IEMap": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { "additionalProperties": false, "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" + "Namespace": { + "type": "string" }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { + "OptionName": { + "type": "string" + }, + "ResourceName": { "type": "string" }, "Value": { @@ -38647,27 +41744,28 @@ var CloudformationSchema = `{ } }, "required": [ - "Key", - "Value" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::FMS::Policy.ResourceTag": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "ApplicationName": { "type": "string" }, - "Value": { + "TemplateName": { "type": "string" } }, "required": [ - "Key" + "ApplicationName", + "TemplateName" ], "type": "object" }, - "AWS::FSx::FileSystem": { + "AWS::ElasticBeanstalk::Environment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38699,35 +41797,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BackupId": { + "ApplicationName": { "type": "string" }, - "FileSystemType": { + "CNAMEPrefix": { "type": "string" }, - "KmsKeyId": { + "Description": { "type": "string" }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + "EnvironmentName": { + "type": "string" }, - "SecurityGroupIds": { + "OptionSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" }, "type": "array" }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { + "PlatformArn": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "SolutionStackName": { + "type": "string" }, "Tags": { "items": { @@ -38735,19 +41827,24 @@ var CloudformationSchema = `{ }, "type": "array" }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" } }, "required": [ - "FileSystemType", - "SubnetIds" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FSx::FileSystem" + "AWS::ElasticBeanstalk::Environment" ], "type": "string" }, @@ -38766,106 +41863,44 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "AWS::ElasticBeanstalk::Environment.OptionSetting": { "additionalProperties": false, "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { + "Namespace": { "type": "string" }, - "OrganizationalUnitDistinguishedName": { + "OptionName": { "type": "string" }, - "Password": { + "ResourceName": { "type": "string" }, - "UserName": { + "Value": { "type": "string" } }, + "required": [ + "Namespace", + "OptionName" + ], "type": "object" }, - "AWS::FSx::FileSystem.WindowsConfiguration": { + "AWS::ElasticBeanstalk::Environment.Tier": { "additionalProperties": false, "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { + "Name": { "type": "string" }, - "PreferredSubnetId": { + "Type": { "type": "string" }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { + "Version": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::Alias": { + "AWS::ElasticLoadBalancing::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38897,25 +41932,90 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { "type": "string" }, - "Name": { + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { "type": "string" }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "RoutingStrategy" + "Listeners" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Alias" + "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" }, @@ -38934,112 +42034,179 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GameLift::Alias.RoutingStrategy": { + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { "additionalProperties": false, "properties": { - "FleetId": { - "type": "string" + "EmitInterval": { + "type": "number" }, - "Message": { + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { "type": "string" }, - "Type": { + "S3BucketPrefix": { "type": "string" } }, + "required": [ + "Enabled", + "S3BucketName" + ], "type": "object" }, - "AWS::GameLift::Build": { + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CookieName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" + "Interval": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], + "Target": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { "type": "string" } }, "required": [ - "Type" + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" ], "type": "object" }, - "AWS::GameLift::Build.S3Location": { + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "Bucket": { + "CookieExpirationPeriod": { "type": "string" }, - "Key": { + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { "type": "string" }, - "ObjectVersion": { + "InstanceProtocol": { "type": "string" }, - "RoleArn": { + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "InstancePort", + "LoadBalancerPort", + "Protocol" ], "type": "object" }, - "AWS::GameLift::Fleet": { + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39071,88 +42238,46 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { + "AlpnPolicy": { "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + "type": "string" }, "type": "array" }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "LogPaths": { + "Certificates": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" }, "type": "array" }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { + "DefaultActions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" }, "type": "array" }, - "MinSize": { - "type": "number" - }, - "Name": { + "LoadBalancerArn": { "type": "string" }, - "NewGameSessionProtectionPolicy": { - "type": "string" - }, - "PeerVpcAwsAccountId": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" + "Port": { + "type": "number" }, - "ServerLaunchParameters": { + "Protocol": { "type": "string" }, - "ServerLaunchPath": { + "SslPolicy": { "type": "string" } }, "required": [ - "EC2InstanceType", - "Name" + "DefaultActions", + "LoadBalancerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Fleet" + "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" }, @@ -39171,283 +42296,227 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { + "AWS::ElasticLoadBalancingV2::Listener.Action": { "additionalProperties": false, "properties": { - "FromPort": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { "type": "number" }, - "IpRange": { - "type": "string" + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" }, - "Protocol": { + "TargetGroupArn": { "type": "string" }, - "ToPort": { - "type": "number" + "Type": { + "type": "string" } }, "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" + "Type" ], "type": "object" }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "NewGameSessionsPerCreator": { - "type": "number" + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" + "OnUnauthenticatedRequest": { + "type": "string" }, - "MaxConcurrentGameSessionActivations": { - "type": "number" + "Scope": { + "type": "string" }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" + "SessionCookieName": { + "type": "string" }, - "LaunchPath": { + "SessionTimeout": { "type": "string" }, - "Parameters": { + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { "type": "string" } }, "required": [ - "ConcurrentExecutions", - "LaunchPath" + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" ], "type": "object" }, - "AWS::GameLift::GameServerGroup": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinitions" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.Tags" - }, - "VpcSubnets": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.VpcSubnets" } }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { "additionalProperties": false, "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + "CertificateArn": { + "type": "string" } }, - "required": [ - "TargetTrackingConfiguration" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { "additionalProperties": false, "properties": { - "InstanceType": { + "ContentType": { "type": "string" }, - "WeightedCapacity": { + "MessageBody": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "InstanceType" + "StatusCode" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinitions": { + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { "additionalProperties": false, "properties": { - "InstanceDefinitions": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" }, "type": "array" } }, "type": "object" }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { + "Host": { "type": "string" }, - "LaunchTemplateName": { + "Path": { "type": "string" }, - "Version": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, + "required": [ + "StatusCode" + ], "type": "object" }, - "AWS::GameLift::GameServerGroup.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { "additionalProperties": false, "properties": { - "TargetValue": { + "DurationSeconds": { "type": "number" + }, + "Enabled": { + "type": "boolean" } }, - "required": [ - "TargetValue" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.VpcSubnets": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { "additionalProperties": false, "properties": { - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39479,33 +42548,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "Certificates": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" }, "type": "array" }, - "Name": { + "ListenerArn": { "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "TimeoutInSeconds": { - "type": "number" } }, "required": [ - "Name" + "Certificates", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::GameSessionQueue" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" }, @@ -39524,28 +42585,16 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { "additionalProperties": false, "properties": { - "DestinationArn": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { + "AWS::ElasticLoadBalancingV2::ListenerRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39577,66 +42626,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { + "Actions": { "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" }, "type": "array" }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" }, "type": "array" }, - "Name": { - "type": "string" - }, - "NotificationTarget": { + "ListenerArn": { "type": "string" }, - "RequestTimeoutSeconds": { + "Priority": { "type": "number" - }, - "RuleSetName": { - "type": "string" } }, "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" + "Actions", + "Conditions", + "ListenerArn", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::MatchmakingConfiguration" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" }, @@ -39655,180 +42674,341 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { "additionalProperties": false, "properties": { - "Key": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { "type": "string" }, - "Value": { + "Type": { "type": "string" } }, "required": [ - "Key", - "Value" + "Type" ], "type": "object" }, - "AWS::GameLift::MatchmakingRuleSet": { + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "RuleSetBody": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "Name", - "RuleSetBody" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], + "OnUnauthenticatedRequest": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + }, + "SessionCookieName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SessionTimeout": { + "type": "number" }, - "Metadata": { - "type": "object" + "UserPoolArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "StorageLocation" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::Script.S3Location": { + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { "type": "string" }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { "Key": { "type": "string" }, - "ObjectVersion": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { "type": "string" }, - "RoleArn": { + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "StatusCode" ], "type": "object" }, - "AWS::GlobalAccelerator::Accelerator": { + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39860,36 +43040,54 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, "IpAddressType": { "type": "string" }, - "IpAddresses": { + "LoadBalancerAttributes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" }, "type": "array" }, "Name": { "type": "string" }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Accelerator" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" }, @@ -39903,12 +43101,44 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup": { + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39940,14 +43170,8 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" + "HealthCheckEnabled": { + "type": "boolean" }, "HealthCheckIntervalSeconds": { "type": "number" @@ -39956,36 +43180,65 @@ var CloudformationSchema = `{ "type": "string" }, "HealthCheckPort": { - "type": "number" + "type": "string" }, "HealthCheckProtocol": { "type": "string" }, - "ListenerArn": { + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { "type": "string" }, - "PortOverrides": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "ThresholdCount": { - "type": "number" + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" }, - "TrafficDialPercentage": { + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { "type": "number" + }, + "VpcId": { + "type": "string" } }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" }, @@ -39999,46 +43252,53 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { "additionalProperties": false, "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" + "GrpcCode": { + "type": "string" }, - "EndpointId": { + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { "type": "string" }, - "Weight": { + "Id": { + "type": "string" + }, + "Port": { "type": "number" } }, "required": [ - "EndpointId" + "Id" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { "additionalProperties": false, "properties": { - "EndpointPort": { - "type": "number" + "Key": { + "type": "string" }, - "ListenerPort": { - "type": "number" + "Value": { + "type": "string" } }, - "required": [ - "EndpointPort", - "ListenerPort" - ], "type": "object" }, - "AWS::GlobalAccelerator::Listener": { + "AWS::Elasticsearch::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40070,32 +43330,72 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorArn": { - "type": "string" - }, - "ClientAffinity": { - "type": "string" + "AccessPolicies": { + "type": "object" }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], - "type": "object" + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { + "type": "string" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, + "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Listener" + "AWS::Elasticsearch::Domain" ], "type": "string" }, @@ -40109,181 +43409,203 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::Listener.PortRange": { + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ToPort": { - "type": "number" + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Enabled": { + "type": "boolean" }, - "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" + "IdentityPoolId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], + "RoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "UserPoolId": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Glue::Classifier.CsvClassifier": { + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { + "CustomEndpoint": { "type": "string" }, - "Delimiter": { + "CustomEndpointCertificateArn": { "type": "string" }, - "DisableValueTrimming": { + "CustomEndpointEnabled": { "type": "boolean" }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" + "EnforceHTTPS": { + "type": "boolean" }, - "Name": { + "TLSSecurityPolicy": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" }, - "QuoteSymbol": { + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Classifier.GrokClassifier": { + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { - "Classification": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { "type": "string" }, - "CustomPatterns": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "GrokPattern": { + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { "type": "string" }, - "Name": { + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { "type": "string" } }, - "required": [ - "Classification", - "GrokPattern" - ], "type": "object" }, - "AWS::Glue::Classifier.JsonClassifier": { + "AWS::Elasticsearch::Domain.LogPublishingOption": { "additionalProperties": false, "properties": { - "JsonPath": { + "CloudWatchLogsLogGroupArn": { "type": "string" }, - "Name": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "JsonPath" - ], "type": "object" }, - "AWS::Glue::Classifier.XMLClassifier": { + "AWS::Elasticsearch::Domain.MasterUserOptions": { "additionalProperties": false, "properties": { - "Classification": { + "MasterUserARN": { "type": "string" }, - "Name": { + "MasterUserName": { "type": "string" }, - "RowTag": { + "MasterUserPassword": { "type": "string" } }, - "required": [ - "Classification", - "RowTag" - ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40315,22 +43637,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" } }, "required": [ - "CatalogId", - "ConnectionInput" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::EventSchemas::Discoverer" ], "type": "string" }, @@ -40349,56 +43676,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::EventSchemas::Discoverer.TagsEntry": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { + "Key": { "type": "string" }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { + "Value": { "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "Key", + "Value" ], "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::EventSchemas::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40430,55 +43724,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, "Description": { "type": "string" }, - "Name": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { + "RegistryName": { "type": "string" }, "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" } }, - "required": [ - "Role", - "Targets" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Crawler" + "AWS::EventSchemas::Registry" ], "type": "string" }, @@ -40492,120 +43755,27 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { + "AWS::EventSchemas::Registry.TagsEntry": { "additionalProperties": false, "properties": { - "DeleteBehavior": { + "Key": { "type": "string" }, - "UpdateBehavior": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { + "AWS::EventSchemas::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40637,22 +43807,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Policy": { + "type": "object" + }, + "RegistryName": { "type": "string" }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + "RevisionId": { + "type": "string" } }, "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" + "Policy", + "RegistryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" + "AWS::EventSchemas::RegistryPolicy" ], "type": "string" }, @@ -40671,43 +43844,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { + "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40739,22 +43876,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Content": { "type": "string" }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "CatalogId", - "DatabaseInput" + "Content", + "RegistryName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Database" + "AWS::EventSchemas::Schema" ], "type": "string" }, @@ -40773,25 +43926,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Database.DatabaseInput": { + "AWS::EventSchemas::Schema.TagsEntry": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "LocationUri": { + "Key": { "type": "string" }, - "Name": { + "Value": { "type": "string" - }, - "Parameters": { - "type": "object" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::DevEndpoint": { + "AWS::Events::ApiDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40823,66 +43974,109 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { + "ConnectionArn": { "type": "string" }, - "ExtraJarsS3Path": { + "Description": { "type": "string" }, - "ExtraPythonLibsS3Path": { + "HttpMethod": { "type": "string" }, - "GlueVersion": { + "InvocationEndpoint": { "type": "string" }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { + "InvocationRateLimitPerSecond": { "type": "number" }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { + "Name": { "type": "string" - }, - "SecurityConfiguration": { + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "SecurityGroupIds": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" }, - "SubnetId": { + "Description": { "type": "string" }, - "Tags": { + "EventPattern": { "type": "object" }, - "WorkerType": { + "RetentionDays": { + "type": "number" + }, + "SourceArn": { "type": "string" } }, "required": [ - "RoleArn" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DevEndpoint" + "AWS::Events::Archive" ], "type": "string" }, @@ -40901,7 +44095,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Job": { + "AWS::Events::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40933,70 +44127,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { + "AuthParameters": { "type": "object" }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { + "AuthorizationType": { "type": "string" }, - "LogUri": { + "Description": { "type": "string" }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, "Name": { "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" } }, "required": [ - "Command", - "Role" + "AuthParameters", + "AuthorizationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Job" + "AWS::Events::Connection" ], "type": "string" }, @@ -41015,52 +44167,72 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { + "AWS::Events::EventBus": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PythonVersion": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], "type": "string" }, - "ScriptLocation": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { + "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41092,53 +44264,33 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { + "Action": { "type": "string" }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, - "Name": { + "EventBusName": { "type": "string" }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { + "Principal": { "type": "string" }, - "Tags": { + "Statement": { "type": "object" }, - "Timeout": { - "type": "number" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { + "StatementId": { "type": "string" } }, "required": [ - "InputRecordTables", - "Role", - "TransformParameters" + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::MLTransform" + "AWS::Events::EventBusPolicy" ], "type": "string" }, @@ -41157,77 +44309,22 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { + "AWS::Events::EventBusPolicy.Condition": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { + "Key": { "type": "string" }, - "TableName": { + "Type": { "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" }, - "TransformType": { + "Value": { "type": "string" } }, - "required": [ - "TransformType" - ], "type": "object" }, - "AWS::Glue::Partition": { + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41259,30 +44356,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "DatabaseName": { + "EventBusName": { "type": "string" }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + "EventPattern": { + "type": "object" }, - "TableName": { + "Name": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" } }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Partition" + "AWS::Events::Rule" ], "type": "string" }, @@ -41296,153 +44402,324 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Partition.Column": { + "AWS::Events::Rule.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "Comment": { + "AssignPublicIp": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Subnets" ], "type": "object" }, - "AWS::Glue::Partition.Order": { + "AWS::Events::Rule.BatchArrayProperties": { "additionalProperties": false, "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { + "Size": { "type": "number" } }, - "required": [ - "Column" - ], "type": "object" }, - "AWS::Glue::Partition.PartitionInput": { + "AWS::Events::Rule.BatchParameters": { "additionalProperties": false, "properties": { - "Parameters": { - "type": "object" + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + "JobDefinition": { + "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" } }, "required": [ - "Values" + "JobDefinition", + "JobName" ], "type": "object" }, - "AWS::Glue::Partition.SerdeInfo": { + "AWS::Events::Rule.BatchRetryStrategy": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "Attempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" }, - "Parameters": { - "type": "object" + "LaunchType": { + "type": "string" }, - "SerializationLibrary": { + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { "type": "string" } }, + "required": [ + "TaskDefinitionArn" + ], "type": "object" }, - "AWS::Glue::Partition.SkewedInfo": { + "AWS::Events::Rule.HttpParameters": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { "items": { "type": "string" }, "type": "array" }, - "SkewedColumnValueLocationMaps": { + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, - "SkewedColumnValues": { + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" }, "type": "array" } }, + "required": [ + "RunCommandTargets" + ], "type": "object" }, - "AWS::Glue::Partition.StorageDescriptor": { + "AWS::Events::Rule.RunCommandTarget": { "additionalProperties": false, "properties": { - "BucketColumns": { + "Key": { + "type": "string" + }, + "Values": { "items": { "type": "string" }, "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, - "Compressed": { - "type": "boolean" + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" }, - "InputFormat": { - "type": "string" + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, - "Location": { + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" + "Input": { + "type": "string" }, - "OutputFormat": { + "InputPath": { "type": "string" }, - "Parameters": { - "type": "object" + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" }, - "StoredAsSubDirectories": { - "type": "boolean" + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } }, + "required": [ + "Arn", + "Id" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration": { + "AWS::FMS::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41474,22 +44751,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + "SnsRoleName": { + "type": "string" }, - "Name": { + "SnsTopicArn": { "type": "string" } }, "required": [ - "EncryptionConfiguration", - "Name" + "SnsRoleName", + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::SecurityConfiguration" + "AWS::FMS::NotificationChannel" ], "type": "string" }, @@ -41508,63 +44785,161 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "AWS::FMS::Policy": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionMode": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KmsKeyArn": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { + "type": "string" + }, + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { + "type": "string" + }, + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" + } + }, + "required": [ + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "AWS::FMS::Policy.IEMap": { "additionalProperties": false, "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + "ACCOUNT": { + "items": { + "type": "string" + }, + "type": "array" }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "AWS::FMS::Policy.PolicyTag": { "additionalProperties": false, "properties": { - "JobBookmarksEncryptionMode": { + "Key": { "type": "string" }, - "KmsKeyArn": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { + "AWS::FMS::Policy.ResourceTag": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "Key": { "type": "string" }, - "S3EncryptionMode": { + "Value": { "type": "string" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { + "AWS::FSx::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41596,26 +44971,55 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "BackupId": { "type": "string" }, - "DatabaseName": { + "FileSystemType": { "type": "string" }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, "required": [ - "CatalogId", - "DatabaseName", - "TableInput" + "FileSystemType", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Table" + "AWS::FSx::FileSystem" ], "type": "string" }, @@ -41634,167 +45038,115 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Table.Column": { + "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { - "Comment": { + "AutoImportPolicy": { "type": "string" }, - "Name": { + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { "type": "string" }, - "Type": { + "DeploymentType": { "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { + }, + "DriveCacheType": { "type": "string" }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { + "ExportPath": { "type": "string" }, - "Parameters": { - "type": "object" + "ImportPath": { + "type": "string" }, - "SerializationLibrary": { + "ImportedFileChunkSize": { + "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Table.SkewedInfo": { + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "DnsIps": { "items": { "type": "string" }, "type": "array" }, - "SkewedColumnValueLocationMaps": { - "type": "object" + "DomainName": { + "type": "string" }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Table.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { + "FileSystemAdministratorsGroup": { "type": "string" }, - "Location": { + "OrganizationalUnitDistinguishedName": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { + "Password": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" + "UserName": { + "type": "string" } }, "type": "object" }, - "AWS::Glue::Table.TableInput": { + "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { + "ActiveDirectoryId": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { + "Aliases": { "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" + "type": "string" }, "type": "array" }, - "Retention": { + "AutomaticBackupRetentionDays": { "type": "number" }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + "CopyTagsToBackups": { + "type": "boolean" }, - "TableType": { + "DailyAutomaticBackupStartTime": { "type": "string" }, - "ViewExpandedText": { + "DeploymentType": { "type": "string" }, - "ViewOriginalText": { + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { "type": "string" } }, + "required": [ + "ThroughputCapacity" + ], "type": "object" }, - "AWS::Glue::Trigger": { + "AWS::GameLift::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41826,46 +45178,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" - }, "Description": { "type": "string" }, "Name": { "type": "string" }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "WorkflowName": { - "type": "string" + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" } }, "required": [ - "Actions", - "Type" + "Name", + "RoutingStrategy" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Trigger" + "AWS::GameLift::Alias" ], "type": "string" }, @@ -41884,76 +45215,22 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Glue::Trigger.Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Condition": { + "AWS::GameLift::Alias.RoutingStrategy": { "additionalProperties": false, "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { + "FleetId": { "type": "string" }, - "State": { + "Message": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" - }, - "type": "array" }, - "Logical": { + "Type": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Workflow": { + "AWS::GameLift::Build": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41985,24 +45262,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DefaultRunProperties": { - "type": "object" - }, - "Description": { + "Name": { "type": "string" }, - "Name": { + "OperatingSystem": { "type": "string" }, - "Tags": { - "type": "object" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Workflow" + "AWS::GameLift::Build" ], "type": "string" }, @@ -42020,7 +45297,30 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition": { + "AWS::GameLift::Build.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GameLift::Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42052,24 +45352,88 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" + "BuildId": { + "type": "string" + }, + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "LogPaths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinSize": { + "type": "number" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + }, + "ServerLaunchParameters": { + "type": "string" + }, + "ServerLaunchPath": { + "type": "string" } }, "required": [ + "EC2InstanceType", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinition" + "AWS::GameLift::Fleet" ], "type": "string" }, @@ -42088,41 +45452,92 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition.Connector": { + "AWS::GameLift::Fleet.CertificateConfiguration": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { "type": "string" }, - "Id": { + "Protocol": { "type": "string" }, - "Parameters": { - "type": "object" + "ToPort": { + "type": "number" } }, "required": [ - "ConnectorArn", - "Id" + "FromPort", + "IpRange", + "Protocol", + "ToPort" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { "additionalProperties": false, "properties": { - "Connectors": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" }, "type": "array" } }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { + "type": "string" + }, + "Parameters": { + "type": "string" + } + }, "required": [ - "Connectors" + "ConcurrentExecutions", + "LaunchPath" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion": { + "AWS::GameLift::GameServerGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42154,25 +45569,63 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionId": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" + }, + "BalancingStrategy": { "type": "string" }, - "Connectors": { + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" }, "type": "array" } }, "required": [ - "ConnectorDefinitionId", - "Connectors" + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" + "AWS::GameLift::GameServerGroup" ], "type": "string" }, @@ -42191,26 +45644,64 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "EstimatedInstanceWarmup": { + "type": "number" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { "type": "string" }, - "Id": { + "WeightedCapacity": { + "type": "string" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { "type": "string" }, - "Parameters": { - "type": "object" + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" } }, "required": [ - "ConnectorArn", - "Id" + "TargetValue" ], "type": "object" }, - "AWS::Greengrass::CoreDefinition": { + "AWS::GameLift::GameSessionQueue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42242,14 +45733,23 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "PlayerLatencyPolicies": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" + }, + "type": "array" + }, + "TimeoutInSeconds": { + "type": "number" } }, "required": [ @@ -42259,7 +45759,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinition" + "AWS::GameLift::GameSessionQueue" ], "type": "string" }, @@ -42278,45 +45778,28 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.Core": { + "AWS::GameLift::GameSessionQueue.Destination": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "DestinationArn": { "type": "string" } }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" + }, + "PolicyDurationSeconds": { + "type": "number" } }, - "required": [ - "Cores" - ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion": { + "AWS::GameLift::MatchmakingConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42348,25 +45831,66 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CoreDefinitionId": { + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { "type": "string" }, - "Cores": { + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" }, "type": "array" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" } }, "required": [ - "CoreDefinitionId", - "Cores" + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" + "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" }, @@ -42385,30 +45909,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { + "Key": { "type": "string" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "Value": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" + "Key", + "Value" ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition": { + "AWS::GameLift::MatchmakingRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42440,24 +45957,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" - }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "RuleSetBody": { + "type": "string" } }, "required": [ - "Name" + "Name", + "RuleSetBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinition" + "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" }, @@ -42476,45 +45991,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion": { + "AWS::GameLift::Script": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42546,25 +46023,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeviceDefinitionId": { + "Name": { "type": "string" }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" } }, "required": [ - "DeviceDefinitionId", - "Devices" + "StorageLocation" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" + "AWS::GameLift::Script" ], "type": "string" }, @@ -42583,30 +46059,30 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "AWS::GameLift::Script.S3Location": { "additionalProperties": false, "properties": { - "CertificateArn": { + "Bucket": { "type": "string" }, - "Id": { + "Key": { "type": "string" }, - "SyncShadow": { - "type": "boolean" + "ObjectVersion": { + "type": "string" }, - "ThingArn": { + "RoleArn": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42638,14 +46114,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" }, "Name": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42655,7 +46143,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinition" + "AWS::GlobalAccelerator::Accelerator" ], "type": "string" }, @@ -42674,144 +46162,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" - }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42843,28 +46194,52 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" }, - "FunctionDefinitionId": { + "EndpointGroupRegion": { "type": "string" }, - "Functions": { + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" }, "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "FunctionDefinitionId", - "Functions" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" + "AWS::GlobalAccelerator::EndpointGroup" ], "type": "string" }, @@ -42883,126 +46258,41 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "AccessSysfs": { + "ClientIPPreservationEnabled": { "type": "boolean" }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { + "EndpointId": { "type": "string" }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" + "Weight": { + "type": "number" } }, "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" + "EndpointId" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { "additionalProperties": false, "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { + "EndpointPort": { "type": "number" }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { + "ListenerPort": { "type": "number" } }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, "required": [ - "ResourceId" + "EndpointPort", + "ListenerPort" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { + "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43034,27 +46324,32 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { + "AcceleratorArn": { "type": "string" }, - "RoleArn": { + "ClientAffinity": { "type": "string" }, - "Tags": { - "type": "object" + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" } }, "required": [ - "Name" + "AcceleratorArn", + "PortRanges", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::Group" + "AWS::GlobalAccelerator::Listener" ], "type": "string" }, @@ -43073,34 +46368,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::Group.GroupVersion": { + "AWS::GlobalAccelerator::Listener.PortRange": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" + "FromPort": { + "type": "number" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::Greengrass::GroupVersion": { + "AWS::Glue::Classifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43132,39 +46416,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" }, - "LoggerDefinitionVersionArn": { - "type": "string" + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" }, - "ResourceDefinitionVersionArn": { - "type": "string" + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" } }, - "required": [ - "GroupId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::GroupVersion" + "AWS::Glue::Classifier" ], "type": "string" }, @@ -43178,122 +46447,97 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition": { + "AWS::Glue::Classifier.CsvClassifier": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Delimiter": { + "type": "string" }, - "Metadata": { - "type": "object" + "DisableValueTrimming": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } + "Header": { + "items": { + "type": "string" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "QuoteSymbol": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.Logger": { + "AWS::Glue::Classifier.GrokClassifier": { "additionalProperties": false, "properties": { - "Component": { + "Classification": { "type": "string" }, - "Id": { + "CustomPatterns": { "type": "string" }, - "Level": { + "GrokPattern": { "type": "string" }, - "Space": { - "type": "number" + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" }, - "Type": { + "Name": { "type": "string" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "JsonPath" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "AWS::Glue::Classifier.XMLClassifier": { "additionalProperties": false, "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" } }, "required": [ - "Loggers" + "Classification", + "RowTag" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion": { + "AWS::Glue::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43325,25 +46569,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LoggerDefinitionId": { + "CatalogId": { "type": "string" }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" } }, "required": [ - "LoggerDefinitionId", - "Loggers" + "CatalogId", + "ConnectionInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" + "AWS::Glue::Connection" ], "type": "string" }, @@ -43362,34 +46603,55 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "AWS::Glue::Connection.ConnectionInput": { "additionalProperties": false, "properties": { - "Component": { - "type": "string" + "ConnectionProperties": { + "type": "object" }, - "Id": { + "ConnectionType": { "type": "string" }, - "Level": { + "Description": { "type": "string" }, - "Space": { - "type": "number" + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { + "Name": { "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "ConnectionType" ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition": { + "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": { @@ -43421,24 +46683,55 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" }, "Name": { "type": "string" }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, "Tags": { "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" } }, "required": [ - "Name" + "Role", + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinition" + "AWS::Glue::Crawler" ], "type": "string" }, @@ -43457,184 +46750,118 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "AWS::Glue::Crawler.CatalogTarget": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "DatabaseName": { "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { - "DestinationPath": { + "ConnectionName": { "type": "string" }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "DestinationPath", - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + "ConnectionName": { + "type": "string" }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { + "Exclusions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + "type": "string" }, "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" }, - "GroupPermission": { + "Path": { "type": "string" } }, - "required": [ - "GroupOwner", - "GroupPermission" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "AWS::Glue::Crawler.Schedule": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Name": { + "ScheduleExpression": { "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" } }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "AWS::Glue::Crawler.SchemaChangePolicy": { "additionalProperties": false, "properties": { - "DestinationPath": { + "DeleteBehavior": { "type": "string" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { + "UpdateBehavior": { "type": "string" } }, - "required": [ - "DestinationPath", - "S3Uri" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "AWS::Glue::Crawler.Targets": { "additionalProperties": false, "properties": { - "DestinationPath": { - "type": "string" + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" }, - "AdditionalStagingLabelsToDownload": { + "S3Targets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" }, "type": "array" } }, - "required": [ - "ARN" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion": { + "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43666,25 +46893,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceDefinitionId": { + "CatalogId": { "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" } }, "required": [ - "ResourceDefinitionId", - "Resources" + "CatalogId", + "DataCatalogEncryptionSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" + "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" }, @@ -43703,169 +46927,43 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "KmsKeyId": { "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" }, - "SourcePath": { - "type": "string" + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { "additionalProperties": false, "properties": { - "DestinationPath": { + "CatalogEncryptionMode": { "type": "string" }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { + "SseAwsKmsKeyId": { "type": "string" } }, - "required": [ - "DestinationPath", - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "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": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition": { + "AWS::Glue::Database": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43897,24 +46995,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { + "CatalogId": { "type": "string" }, - "Tags": { - "type": "object" + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" } }, "required": [ - "Name" + "CatalogId", + "DatabaseInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinition" + "AWS::Glue::Database" ], "type": "string" }, @@ -43933,46 +47029,40 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { + "CatalogId": { "type": "string" }, - "Target": { + "DatabaseName": { "type": "string" } }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" } }, - "required": [ - "Subscriptions" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { + "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44004,25 +47094,66 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SubscriptionDefinitionId": { + "Arguments": { + "type": "object" + }, + "EndpointName": { "type": "string" }, - "Subscriptions": { + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" }, "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "SubscriptionDefinitionId", - "Subscriptions" + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" + "AWS::Glue::DevEndpoint" ], "type": "string" }, @@ -44041,31 +47172,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector": { + "AWS::Glue::Job": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44097,24 +47204,70 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + "AllocatedCapacity": { + "type": "number" }, - "Enable": { - "type": "boolean" + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" }, - "FindingPublishingFrequency": { + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { "type": "string" } }, "required": [ - "Enable" + "Command", + "Role" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Glue::Job" ], "type": "string" }, @@ -44133,25 +47286,52 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "AWS::Glue::Job.ConnectionsList": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + "Connections": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "AWS::Glue::Job.ExecutionProperty": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "MaxConcurrentRuns": { + "type": "number" } }, "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44183,38 +47363,56 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, "Description": { "type": "string" }, - "DetectorId": { + "GlueVersion": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" }, "Name": { "type": "string" }, - "Rank": { + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" + "InputRecordTables", + "Role", + "TransformParameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Glue::MLTransform" ], "type": "string" }, @@ -44233,46 +47431,104 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Glue::MLTransform.FindMatchesParameters": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { + "AccuracyCostTradeoff": { "type": "number" }, - "Lt": { - "type": "number" + "EnforceProvidedLabels": { + "type": "boolean" }, - "Lte": { + "PrecisionRecallTradeoff": { "type": "number" }, - "Neq": { + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" }, "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Filter.FindingCriteria": { + "AWS::Glue::MLTransform.MLUserDataEncryption": { "additionalProperties": false, "properties": { - "Criterion": { - "type": "object" + "KmsKeyId": { + "type": "string" }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + "MLUserDataEncryptionMode": { + "type": "string" } }, + "required": [ + "MLUserDataEncryptionMode" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44304,33 +47560,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { + "CatalogId": { "type": "string" }, - "Format": { + "DatabaseName": { "type": "string" }, - "Location": { - "type": "string" + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" }, - "Name": { + "TableName": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Glue::Partition" ], "type": "string" }, @@ -44349,155 +47602,181 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Glue::Partition.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], + "SchemaArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchemaName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchameVersionId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, - "Metadata": { + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], + "type": "array" + }, + "SkewedColumnValueLocationMaps": { "type": "object" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Glue::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44529,33 +47808,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { + "Description": { "type": "string" }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::Glue::Registry" ], "type": "string" }, @@ -44574,7 +47847,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::AccessKey": { + "AWS::Glue::Schema": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44606,24 +47879,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Serial": { - "type": "number" + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" }, - "Status": { + "Compatibility": { "type": "string" }, - "UserName": { + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "UserName" + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::AccessKey" + "AWS::Glue::Schema" ], "type": "string" }, @@ -44642,7 +47936,31 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::Group": { + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44674,30 +47992,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" }, - "Path": { + "SchemaDefinition": { "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" } }, + "required": [ + "Schema", + "SchemaDefinition" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Group" + "AWS::Glue::SchemaVersion" ], "type": "string" }, @@ -44711,27 +48021,27 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::Group.Policy": { + "AWS::Glue::SchemaVersion.Schema": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "RegistryName": { + "type": "string" }, - "PolicyName": { + "SchemaArn": { + "type": "string" + }, + "SchemaName": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::InstanceProfile": { + "AWS::Glue::SchemaVersionMetadata": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44763,27 +48073,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { + "Key": { "type": "string" }, - "Path": { + "SchemaVersionId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "Value": { + "type": "string" } }, "required": [ - "Roles" + "Key", + "SchemaVersionId", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::Glue::SchemaVersionMetadata" ], "type": "string" }, @@ -44802,7 +48111,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::Glue::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44834,45 +48143,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" }, - "Path": { + "Name": { "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "PolicyDocument" + "EncryptionConfiguration", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::Glue::SecurityConfiguration" ], "type": "string" }, @@ -44891,7 +48177,63 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44923,40 +48265,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "CatalogId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" } }, "required": [ - "PolicyDocument", - "PolicyName" + "CatalogId", + "DatabaseName", + "TableInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::Glue::Table" ], "type": "string" }, @@ -44975,186 +48303,218 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::Glue::Table.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" - }, - "RoleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssumeRolePolicyDocument" - ], - "type": "object" + "Name": { + "type": "string" }, "Type": { - "enum": [ - "AWS::IAM::Role" - ], "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { "type": "string" + }, + "SortOrder": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "Column", + "SortOrder" ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::Glue::Table.SchemaId": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchameVersionId": { + "type": "string" + }, + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "PolicyName": { + "SerializationLibrary": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::Glue::Table.SkewedInfo": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Location": { + "type": "string" }, - "Metadata": { + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { - "type": "string" - }, - "Description": { - "type": "string" - } + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" }, - "required": [ - "AWSServiceName" - ], + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Type": { - "enum": [ - "AWS::IAM::ServiceLinkedRole" - ], + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::IAM::User": { + "AWS::Glue::Trigger": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45186,48 +48546,46 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Trigger.Action" }, "type": "array" }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Description": { + "type": "string" }, - "Path": { + "Name": { "type": "string" }, - "PermissionsBoundary": { + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" + "StartOnCreation": { + "type": "boolean" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" }, - "UserName": { + "Type": { + "type": "string" + }, + "WorkflowName": { "type": "string" } }, + "required": [ + "Actions", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::Glue::Trigger" ], "type": "string" }, @@ -45241,42 +48599,81 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::Glue::Trigger.Action": { "additionalProperties": false, "properties": { - "Password": { + "Arguments": { + "type": "object" + }, + "CrawlerName": { "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Timeout": { + "type": "number" } }, - "required": [ - "Password" - ], "type": "object" }, - "AWS::IAM::User.Policy": { + "AWS::Glue::Trigger.Condition": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "CrawlState": { + "type": "string" }, - "PolicyName": { + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45308,25 +48705,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "DefaultRunProperties": { + "type": "object" + }, + "Description": { "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" } }, - "required": [ - "GroupName", - "Users" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::Glue::Workflow" ], "type": "string" }, @@ -45340,12 +48736,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45377,30 +48772,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" }, @@ -45414,11 +48803,46 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45450,27 +48874,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { + "ConnectorDefinitionId": { "type": "string" }, - "Tags": { + "Connectors": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" }, "type": "array" } }, "required": [ - "PublicKeyMaterial" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::PlaybackKeyPair" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" }, @@ -45489,7 +48911,26 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IVS::StreamKey": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45521,24 +48962,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ChannelArn": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + }, + "Name": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, "required": [ - "ChannelArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::StreamKey" + "AWS::Greengrass::CoreDefinition" ], "type": "string" }, @@ -45557,7 +48998,45 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45589,56 +49068,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { + "CoreDefinitionId": { "type": "string" }, - "SupportedOsVersions": { + "Cores": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" }, "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" } }, "required": [ - "Name", - "Platform", - "Version" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" }, @@ -45657,7 +49105,30 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45689,37 +49160,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" }, @@ -45738,28 +49196,45 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::Greengrass::DeviceDefinition.Device": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { - "type": "object" + "CertificateArn": { + "type": "string" }, - "LicenseConfigurationArns": { + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" }, "type": "array" - }, - "Region": { - "type": "string" } }, "required": [ - "Region" + "Devices" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::Greengrass::DeviceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45791,40 +49266,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { + "DeviceDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" }, - "type": "object" + "type": "array" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "DeviceDefinitionId", + "Devices" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" }, @@ -45843,19 +49303,30 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "AWS::Greengrass::DeviceDefinitionVersion.Device": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { "type": "boolean" }, - "TimeoutMinutes": { - "type": "number" + "ThingArn": { + "type": "string" } }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::Greengrass::FunctionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45887,53 +49358,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::Greengrass::FunctionDefinition" ], "type": "string" }, @@ -45952,31 +49394,144 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { "type": "boolean" }, - "TimeoutMinutes": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { "additionalProperties": false, "properties": { - "PipelineExecutionStartCondition": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { "type": "string" }, - "ScheduleExpression": { + "ResourceId": { "type": "string" } }, + "required": [ + "ResourceId" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46008,54 +49563,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" }, - "ParentImage": { + "FunctionDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" + "type": "array" } }, "required": [ - "Components", - "Name", - "ParentImage", - "Version" + "FunctionDefinitionId", + "Functions" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImageRecipe" + "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" }, @@ -46074,69 +49603,134 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { "additionalProperties": false, "properties": { - "ComponentArn": { - "type": "string" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" } }, + "required": [ + "Execution" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { + "AccessSysfs": { "type": "boolean" }, - "Encrypted": { - "type": "boolean" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" }, - "Iops": { - "type": "number" + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" }, - "KmsKeyId": { + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { "type": "string" }, - "SnapshotId": { + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { "type": "string" }, - "VolumeSize": { - "type": "number" + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" }, - "VolumeType": { + "Id": { "type": "string" } }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { "additionalProperties": false, "properties": { - "DeviceName": { + "EncodingType": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" }, - "NoDevice": { + "ExecArgs": { "type": "string" }, - "VirtualName": { + "Executable": { "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -46160,70 +49754,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { + "RoleArn": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::Greengrass::Group" ], "type": "string" }, @@ -46242,28 +49793,34 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::Greengrass::Group.GroupVersion": { "additionalProperties": false, "properties": { - "S3BucketName": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "S3KeyPrefix": { + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { "type": "string" } }, "type": "object" }, - "AWS::Inspector::AssessmentTarget": { + "AWS::Greengrass::GroupVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46295,18 +49852,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssessmentTargetName": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "ResourceGroupArn": { + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { "type": "string" } }, + "required": [ + "GroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::AssessmentTarget" + "AWS::Greengrass::GroupVersion" ], "type": "string" }, @@ -46320,11 +49898,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Inspector::AssessmentTemplate": { + "AWS::Greengrass::LoggerDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46356,38 +49935,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssessmentTargetArn": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" }, - "AssessmentTemplateName": { + "Name": { "type": "string" }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Tags": { + "type": "object" } }, "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::AssessmentTemplate" + "AWS::Greengrass::LoggerDefinition" ], "type": "string" }, @@ -46406,7 +49971,49 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46438,21 +50045,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" }, "type": "array" } }, "required": [ - "ResourceGroupTags" + "LoggerDefinitionId", + "Loggers" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" }, @@ -46471,7 +50082,34 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46503,22 +50141,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + }, + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Tags": { + "type": "object" } }, "required": [ - "DeviceId", - "Enabled" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Device" + "AWS::Greengrass::ResourceDefinition" ], "type": "string" }, @@ -46537,78 +50177,184 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" }, - "Metadata": { - "type": "object" + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" }, - "required": [ - "ProjectName" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" } }, "required": [ - "Type", - "Properties" + "Id", + "Name", + "ResourceDataContainer" ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46640,24 +50386,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ResourceDefinitionId": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" } }, "required": [ - "PlacementTemplate" + "ResourceDefinitionId", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" }, @@ -46676,31 +50423,169 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "AutoAddGroupOwner": { + "type": "boolean" }, - "DeviceType": { + "GroupOwner": { "type": "string" } }, + "required": [ + "AutoAddGroupOwner" + ], "type": "object" }, - "AWS::IoT1Click::Project.PlacementTemplate": { + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { "additionalProperties": false, "properties": { - "DefaultAttributes": { - "type": "object" + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" }, - "DeviceTemplates": { - "type": "object" + "SourcePath": { + "type": "string" } }, + "required": [ + "SourcePath" + ], "type": "object" }, - "AWS::IoT::Authorizer": { + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "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": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46732,36 +50617,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" }, - "Status": { + "Name": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::IoT::Authorizer.Tags" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "$ref": "#/definitions/AWS::IoT::Authorizer.TokenSigningPublicKeys" + "type": "object" } }, "required": [ - "AuthorizerFunctionArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Authorizer" + "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" }, @@ -46780,24 +50653,46 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::Authorizer.Tags": { + "AWS::Greengrass::SubscriptionDefinition.Subscription": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" } }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], "type": "object" }, - "AWS::IoT::Authorizer.TokenSigningPublicKeys": { + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { "additionalProperties": false, - "properties": {}, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::Greengrass::SubscriptionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46829,30 +50724,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { + "SubscriptionDefinitionId": { "type": "string" }, - "Status": { - "type": "string" + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" } }, "required": [ - "Status" + "SubscriptionDefinitionId", + "Subscriptions" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Certificate" + "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" }, @@ -46871,7 +50761,31 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46903,21 +50817,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "InlineRecipe": { "type": "string" + }, + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "PolicyDocument" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Policy" + "AWS::GreengrassV2::ComponentVersion" ], "type": "string" }, @@ -46931,12 +50851,206 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { + "additionalProperties": false, + "properties": { + "DependencyType": { + "type": "string" + }, + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" + }, + "MemorySizeInKB": { + "type": "number" + }, + "MountROSysfs": { + "type": "boolean" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { + "additionalProperties": false, + "properties": { + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" + }, + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InputPayloadEncodingType": { + "type": "string" + }, + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" + }, + "MaxIdleTimeInSeconds": { + "type": "number" + }, + "MaxInstancesCount": { + "type": "number" + }, + "MaxQueueSize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "StatusTimeoutInSeconds": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { + "additionalProperties": false, + "properties": { + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" + }, + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" + }, + "ComponentName": { + "type": "string" + }, + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" + }, + "ComponentVersion": { + "type": "string" + }, + "LambdaArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { + "additionalProperties": false, + "properties": { + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" + }, + "IsolationMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "DestinationPath": { + "type": "string" + }, + "Permission": { + "type": "string" + }, + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46968,22 +51082,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { - "type": "string" + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" }, - "Principal": { + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { "type": "string" } }, "required": [ - "PolicyName", - "Principal" + "Enable" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::GuardDuty::Detector" ], "type": "string" }, @@ -47002,7 +51118,25 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate": { + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47034,37 +51168,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + "Description": { + "type": "string" }, - "ProvisioningRoleArn": { + "DetectorId": { "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" }, - "TemplateBody": { + "Name": { "type": "string" }, - "TemplateName": { - "type": "string" + "Rank": { + "type": "number" } }, "required": [ - "ProvisioningRoleArn", - "TemplateBody" + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ProvisioningTemplate" + "AWS::GuardDuty::Filter" ], "type": "string" }, @@ -47083,31 +51218,46 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "AWS::GuardDuty::Filter.Condition": { "additionalProperties": false, "properties": { - "PayloadVersion": { - "type": "string" + "Eq": { + "items": { + "type": "string" + }, + "type": "array" }, - "TargetArn": { - "type": "string" + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::IoT::ProvisioningTemplate.Tags": { + "AWS::GuardDuty::Filter.FindingCriteria": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, "type": "object" }, - "AWS::IoT::Thing": { + "AWS::GuardDuty::IPSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47139,18 +51289,33 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + "Activate": { + "type": "boolean" }, - "ThingName": { + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::GuardDuty::IPSet" ], "type": "string" }, @@ -47164,26 +51329,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "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": { + "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47215,22 +51366,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "DetectorId": { "type": "string" }, - "ThingName": { + "InvitationId": { + "type": "string" + }, + "MasterId": { "type": "string" } }, "required": [ - "Principal", - "ThingName" + "DetectorId", + "MasterId" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::GuardDuty::Master" ], "type": "string" }, @@ -47249,7 +51403,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::GuardDuty::Member": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47281,21 +51435,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RuleName": { + "DetectorId": { "type": "string" }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" } }, "required": [ - "TopicRulePayload" + "DetectorId", + "Email", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::TopicRule" + "AWS::GuardDuty::Member" ], "type": "string" }, @@ -47314,595 +51482,320 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::GuardDuty::ThreatIntelSet": { "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" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + "Metadata": { + "type": "object" }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatIntelSet" + ], "type": "string" }, - "TimeInSeconds": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TimeInSeconds" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyValue": { + "AWS::IAM::AccessKey": { "additionalProperties": false, "properties": { - "Quality": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" - } - }, - "required": [ - "Timestamp", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" + "Metadata": { + "type": "object" }, - "DoubleValue": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" }, - "IntegerValue": { + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], "type": "string" }, - "StringValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "AWS::IAM::Group": { "additionalProperties": false, "properties": { - "AlarmName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "StateReason": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Group.Policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Group" + ], "type": "string" }, - "StateValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" + "Type" ], "type": "object" }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { + "AWS::IAM::Group.Policy": { "additionalProperties": false, "properties": { - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricTimestamp": { - "type": "string" - }, - "MetricUnit": { - "type": "string" - }, - "MetricValue": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" + "PolicyDocument", + "PolicyName" ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBAction": { + "AWS::IAM::InstanceProfile": { "additionalProperties": false, "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RangeKeyField": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RangeKeyType": { - "type": "string" + "Metadata": { + "type": "object" }, - "RangeKeyValue": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { - "additionalProperties": false, - "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.ElasticsearchAction": { + "AWS::IAM::ManagedPolicy": { "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Index": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.FirehoseAction": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "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": { - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ChannelName", - "RoleArn" - ], - "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": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "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": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "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": { - "MessageFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SqsAction": { - "additionalProperties": false, - "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Actions", - "RuleDisabled", - "Sql" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -47926,27 +51819,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ChannelName": { + "Description": { "type": "string" }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + "ManagedPolicyName": { + "type": "string" }, - "Tags": { + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" }, "type": "array" } }, + "required": [ + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Channel" + "AWS::IAM::ManagedPolicy" ], "type": "string" }, @@ -47960,59 +51871,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { + "AWS::IAM::OIDCProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48044,48 +51908,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" - }, - "ContentDeliveryRules": { + "ClientIdList": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + "type": "string" }, "type": "array" }, - "DatasetName": { - "type": "string" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "Triggers": { + "ThumbprintList": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + "type": "string" }, "type": "array" }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + "Url": { + "type": "string" } }, "required": [ - "Actions" + "ThumbprintList" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Dataset" + "AWS::IAM::OIDCProvider" ], "type": "string" }, @@ -48104,298 +51956,273 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Action": { + "AWS::IAM::Policy": { "additionalProperties": false, "properties": { - "ActionName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" - } - }, - "required": [ - "ActionName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" + "Metadata": { + "type": "object" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { + "Type": { + "enum": [ + "AWS::IAM::Policy" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" }, - "TimeExpression": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "OffsetSeconds", - "TimeExpression" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { - "DatabaseName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "AssumeRolePolicyDocument" + ], + "type": "object" }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { + "Type": { + "enum": [ + "AWS::IAM::Role" + ], "type": "string" }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "NumberOfDays", - "Unlimited" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { + "AWS::IAM::Role.Policy": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" - }, - "Key": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "PolicyDocument", + "PolicyName" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Schedule": { + "AWS::IAM::SAMLProvider": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DoubleValue": { - "type": "number" + "Metadata": { + "type": "object" }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" }, - "StringValue": { + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], "type": "string" }, - "VariableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "VariableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { + "AWS::IAM::ServerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48427,14 +52254,20 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DatastoreName": { + "CertificateBody": { "type": "string" }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + "CertificateChain": { + "type": "string" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" }, "Tags": { "items": { @@ -48447,7 +52280,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::IoTAnalytics::Datastore" + "AWS::IAM::ServerCertificate" ], "type": "string" }, @@ -48465,55 +52298,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48545,30 +52330,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PipelineActivities": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" - }, - "type": "array" + "AWSServiceName": { + "type": "string" }, - "PipelineName": { + "CustomSuffix": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Description": { + "type": "string" } }, "required": [ - "PipelineActivities" + "AWSServiceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Pipeline" + "AWS::IAM::ServiceLinkedRole" ], "type": "string" }, @@ -48587,214 +52366,487 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Activity": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" - }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" - }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + "Metadata": { + "type": "object" }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::User" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Channel": { + "AWS::IAM::User.LoginProfile": { "additionalProperties": false, "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { + "Password": { "type": "string" }, - "Next": { - "type": "string" + "PasswordResetRequired": { + "type": "boolean" } }, + "required": [ + "Password" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Datastore": { + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { - "DatastoreName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Name": { + "PolicyName": { "type": "string" } }, + "required": [ + "PolicyDocument", + "PolicyName" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { - "Attribute": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" + "Metadata": { + "type": "object" }, - "RoleArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], "type": "string" }, - "ThingName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { + "AWS::IAM::VirtualMFADevice": { "additionalProperties": false, "properties": { - "Attribute": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" + "Metadata": { + "type": "object" }, - "RoleArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } + }, + "required": [ + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], "type": "string" }, - "ThingName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Filter": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { - "Filter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "LambdaName": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Authorized": { + "type": "boolean" + }, + "LatencyMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IVS::Channel" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Math": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { - "Attribute": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Math": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "PublicKeyMaterial" + ], + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "ChannelArn" + ], + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48826,36 +52878,56 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + "ChangeDescription": { + "type": "string" }, - "DetectorModelDescription": { + "Data": { "type": "string" }, - "DetectorModelName": { + "Description": { "type": "string" }, - "EvaluationMethod": { + "KmsKeyId": { "type": "string" }, - "Key": { + "Name": { "type": "string" }, - "RoleArn": { + "Platform": { "type": "string" }, - "Tags": { + "SupportedOsVersions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, + "required": [ + "Name", + "Platform", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::DetectorModel" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -48869,419 +52941,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.Action": { - "additionalProperties": false, - "properties": { - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" - } - }, - "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": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "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": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "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" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - }, - "NextState": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::Input": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49313,27 +52978,71 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" + }, + "type": "array" }, - "InputDescription": { + "ContainerType": { "type": "string" }, - "InputName": { + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, + "required": [ + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::Input" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -49347,32 +53056,33 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTEvents::Input.Attribute": { + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "JsonPath": { + "ComponentArn": { "type": "string" } }, "type": "object" }, - "AWS::IoTEvents::Input.InputDefinition": { + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" } }, "type": "object" }, - "AWS::IoTSiteWise::Asset": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49404,40 +53114,37 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { - "type": "string" - }, - "AssetName": { + "Description": { "type": "string" }, - "AssetProperties": { + "Distributions": { "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" }, "type": "array" }, + "Name": { + "type": "string" + }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "AssetModelId", - "AssetName" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Asset" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -49456,41 +53163,31 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "ChildAssetId": { - "type": "string" + "AmiDistributionConfiguration": { + "type": "object" }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" + "ContainerDistributionConfiguration": { + "type": "object" }, - "LogicalId": { - "type": "string" + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "NotificationState": { + "Region": { "type": "string" } }, "required": [ - "LogicalId" + "Region" ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel": { + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49522,39 +53219,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssetModelDescription": { + "ContainerRecipeArn": { "type": "string" }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" + "DistributionConfigurationArn": { + "type": "string" }, - "AssetModelName": { + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { "type": "string" }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "AssetModelName" + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::AssetModel" + "AWS::ImageBuilder::Image" ], "type": "string" }, @@ -49573,178 +53273,142 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "ChildAssetModelId": { - "type": "string" - }, - "LogicalId": { - "type": "string" + "ImageTestsEnabled": { + "type": "boolean" }, - "Name": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { - "DataType": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" + "Metadata": { + "type": "object" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + "required": [ + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" }, - "TypeName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TypeName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.Transform": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "Expression": { - "type": "string" + "ImageTestsEnabled": { + "type": "boolean" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, - "required": [ - "Interval" - ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { + "AWS::ImageBuilder::ImagePipeline.Schedule": { "additionalProperties": false, "properties": { - "HierarchyLogicalId": { + "PipelineExecutionStartCondition": { "type": "string" }, - "PropertyLogicalId": { + "ScheduleExpression": { "type": "string" } }, - "required": [ - "PropertyLogicalId" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway": { + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49776,34 +53440,54 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GatewayCapabilitySummaries": { + "BlockDeviceMappings": { "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" }, "type": "array" }, - "GatewayName": { + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ - "GatewayName", - "GatewayPlatform" + "Components", + "Name", + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Gateway" + "AWS::ImageBuilder::ImageRecipe" ], "type": "string" }, @@ -49822,46 +53506,61 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { + "ComponentArn": { "type": "string" } }, - "required": [ - "CapabilityNamespace" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" } }, - "required": [ - "Greengrass" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.Greengrass": { + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { "additionalProperties": false, "properties": { - "GroupArn": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { "type": "string" } }, - "required": [ - "GroupArn" - ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49893,21 +53592,70 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "Description": { + "type": "string" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "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": [ - "Definition" + "InstanceProfileName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::ImageBuilder::InfrastructureConfiguration" ], "type": "string" }, @@ -49926,23 +53674,28 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { "additionalProperties": false, "properties": { - "Language": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { "type": "string" }, - "Text": { + "S3KeyPrefix": { "type": "string" } }, - "required": [ - "Language", - "Text" - ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49974,22 +53727,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AliasName": { + "AssessmentTargetName": { "type": "string" }, - "TargetKeyId": { + "ResourceGroupArn": { "type": "string" } }, - "required": [ - "AliasName", - "TargetKeyId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Alias" + "AWS::Inspector::AssessmentTarget" ], "type": "string" }, @@ -50003,12 +53752,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KMS::Key": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50040,25 +53788,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AssessmentTargetArn": { "type": "string" }, - "EnableKeyRotation": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "KeyUsage": { + "AssessmentTemplateName": { "type": "string" }, - "PendingWindowInDays": { + "DurationInSeconds": { "type": "number" }, - "Tags": { + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { "items": { "$ref": "#/definitions/Tag" }, @@ -50066,13 +53811,15 @@ var CloudformationSchema = `{ } }, "required": [ - "KeyPolicy" + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Key" + "AWS::Inspector::AssessmentTemplate" ], "type": "string" }, @@ -50091,7 +53838,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Kendra::DataSource": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50123,43 +53870,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::Kendra::DataSource.TagList" - }, - "Type": { - "type": "string" + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DataSourceConfiguration", - "IndexId", - "Name", - "RoleArn", - "Type" + "ResourceGroupTags" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::DataSource" + "AWS::Inspector::ResourceGroup" ], "type": "string" }, @@ -50178,657 +53903,553 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { - "additionalProperties": false, - "properties": { - "KeyPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.AclConfiguration": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { - "AllowedGroupsColumnName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "AllowedGroupsColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ChangeDetectingColumns": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" }, - "DocumentDataColumnName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DocumentIdColumnName": { - "type": "string" + "Metadata": { + "type": "object" }, - "DocumentTitleColumnName": { + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], "type": "string" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { - "DatabaseHost": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DatabaseName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DatabasePort": { - "type": "number" + "Metadata": { + "type": "object" }, - "SecretArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + "Metadata": { + "type": "object" }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { - "additionalProperties": false, - "properties": { - "DataSourceInclusionsExclusionsStrings": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" + "required": [ + "PlacementTemplate" + ], + "type": "object" }, - "DateFieldFormat": { + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], "type": "string" }, - "IndexFieldName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DataSourceFieldName", - "IndexFieldName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { + "AWS::IoT1Click::Project.DeviceTemplate": { "additionalProperties": false, "properties": { - "DataSourceToIndexFieldMappingList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "AWS::IoT1Click::Project.PlacementTemplate": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DefaultAttributes": { + "type": "object" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeviceTemplates": { + "type": "object" } }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], "type": "object" }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { + "AWS::IoT::AccountAuditConfiguration": { "additionalProperties": false, "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + "Metadata": { + "type": "object" }, - "DatabaseEngineType": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], + "type": "string" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { "additionalProperties": false, "properties": { - "S3Prefix": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { "additionalProperties": false, "properties": { - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "SecretArn": { - "type": "string" + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "TenantDomain": { - "type": "string" - } - }, - "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUserList": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "BucketName": { - "type": "string" + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "InclusionPrefixes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "Key": { - "type": "string" + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" } }, - "required": [ - "Bucket", - "Key" - ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "DocumentTitleFieldName": { + "RoleArn": { "type": "string" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeFilterTypes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" + "TargetArn": { + "type": "string" } }, - "required": [ - "DocumentDataFieldName" - ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { "additionalProperties": false, "properties": { - "SalesforceChatterFeedIncludeFilterTypes": { - "items": { - "type": "string" - }, - "type": "array" + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" } }, "type": "object" }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { + "AWS::IoT::Authorizer": { "additionalProperties": false, "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" - } - }, - "required": [ - "SecretArn", - "ServerUrl" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerFunctionArn": { + "type": "string" + }, + "AuthorizerName": { + "type": "string" + }, + "SigningDisabled": { + "type": "boolean" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TokenKeyName": { + "type": "string" + }, + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" - }, - "IncludedStates": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" + "required": [ + "AuthorizerFunctionArn" + ], + "type": "object" }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" - } - }, - "required": [ - "IncludedStates" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { - "additionalProperties": false, - "properties": { - "SalesforceKnowledgeArticleStateList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { + "Type": { + "enum": [ + "AWS::IoT::Authorizer" + ], "type": "string" }, - "DocumentTitleFieldName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, "required": [ - "DocumentDataFieldName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "AWS::IoT::Certificate": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceStandardObjectConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { - "type": "string" - } - }, - "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "required": [ + "Status" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], "type": "string" }, - "SharePointVersion": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UseChangeLog": { - "type": "boolean" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, "required": [ - "SecretArn", - "SharePointVersion", - "Urls" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SqlConfiguration": { - "additionalProperties": false, - "properties": { - "QueryIdentifiersEnclosingOption": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Faq": { + "AWS::IoT::CustomMetric": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50860,39 +54481,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FileFormat": { - "type": "string" - }, - "IndexId": { + "DisplayName": { "type": "string" }, - "Name": { + "MetricName": { "type": "string" }, - "RoleArn": { + "MetricType": { "type": "string" }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" - }, "Tags": { - "$ref": "#/definitions/AWS::Kendra::Faq.TagList" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" + "MetricType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Faq" + "AWS::IoT::CustomMetric" ], "type": "string" }, @@ -50911,35 +54523,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Faq.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index": { + "AWS::IoT::Dimension": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50971,41 +54555,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { - "type": "string" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfigurationList" - }, - "Edition": { - "type": "string" - }, "Name": { "type": "string" }, - "RoleArn": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { - "$ref": "#/definitions/AWS::Kendra::Index.TagList" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "Edition", - "Name", - "RoleArn" + "StringValues", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Index" + "AWS::IoT::Dimension" ], "type": "string" }, @@ -51024,149 +54601,15 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { + "AWS::IoT::DomainConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfigurationList": { - "additionalProperties": false, - "properties": { - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItems": { - "additionalProperties": false, - "properties": { - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -51190,33 +54633,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { "type": "string" }, - "RetentionPeriodHours": { - "type": "number" + "DomainConfigurationStatus": { + "type": "string" }, - "ShardCount": { - "type": "number" + "DomainName": { + "type": "string" }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + "ServerCertificateArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" } }, - "required": [ - "ShardCount" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Kinesis::Stream" + "AWS::IoT::DomainConfiguration" ], "type": "string" }, @@ -51230,94 +54682,38 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Kinesis::Stream.StreamEncryption": { + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { "additionalProperties": false, "properties": { - "EncryptionType": { - "type": "string" + "AllowAuthorizerOverride": { + "type": "boolean" }, - "KeyId": { + "DefaultAuthorizerName": { "type": "string" } }, - "required": [ - "EncryptionType", - "KeyId" - ], "type": "object" }, - "AWS::Kinesis::StreamConsumer": { + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerCertificateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerName": { - "type": "string" - }, - "StreamARN": { - "type": "string" - } - }, - "required": [ - "ConsumerName", - "StreamARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::StreamConsumer" - ], + "ServerCertificateStatus": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerCertificateStatusDetail": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application": { + "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51349,30 +54745,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationCode": { + "ActionName": { "type": "string" }, - "ApplicationDescription": { - "type": "string" + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" }, - "ApplicationName": { + "RoleArn": { "type": "string" }, - "Inputs": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "Inputs" + "ActionParams", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::Application" + "AWS::IoT::MitigationAction" ], "type": "string" }, @@ -51391,197 +54788,113 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.Input": { + "AWS::IoT::MitigationAction.ActionParams": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" }, - "NamePrefix": { - "type": "string" + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" } }, - "required": [ - "InputSchema", - "NamePrefix" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" + "OverrideDynamicGroups": { + "type": "boolean" }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { + "ThingGroupNames": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + "type": "string" }, "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "ThingGroupNames" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { "type": "string" } }, "required": [ - "RecordRowPath" + "LogLevel", + "RoleArnForLogging" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TopicArn": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TopicArn" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TemplateName": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TemplateName" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { + "Action": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.RecordFormat": { + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { + "Action": { "type": "string" } }, "required": [ - "RecordFormatType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput": { + "AWS::IoT::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51613,22 +54926,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + "PolicyName": { + "type": "string" } }, "required": [ - "ApplicationName", - "Output" + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" + "AWS::IoT::Policy" ], "type": "string" }, @@ -51647,88 +54959,73 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "AWS::IoT::PolicyPrincipalAttachment": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" + "Metadata": { + "type": "object" }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" }, - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DestinationSchema" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "AWS::IoT::ProvisioningTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51760,22 +55057,40 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Description": { "type": "string" }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" } }, "required": [ - "ApplicationName", - "ReferenceDataSource" + "ProvisioningRoleArn", + "TemplateBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + "AWS::IoT::ProvisioningTemplate" ], "type": "string" }, @@ -51794,141 +55109,103 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "PayloadVersion": { "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { + "TargetArn": { "type": "string" } }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "AWS::IoT::ScheduledAudit": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + "Metadata": { + "type": "object" }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" }, - "FileKey": { + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], "type": "string" }, - "ReferenceRoleARN": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application": { + "AWS::IoT::SecurityProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51960,19 +55237,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" }, - "ApplicationDescription": { - "type": "string" + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" }, - "ApplicationName": { - "type": "string" + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" }, - "RuntimeEnvironment": { + "SecurityProfileDescription": { "type": "string" }, - "ServiceExecutionRole": { + "SecurityProfileName": { "type": "string" }, "Tags": { @@ -51980,17 +55269,19 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::Application" + "AWS::IoT::SecurityProfile" ], "type": "string" }, @@ -52004,388 +55295,246 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "AWS::IoT::SecurityProfile.AlertTarget": { "additionalProperties": false, "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + "AlertTargetArn": { + "type": "string" }, - "CodeContentType": { + "RoleArn": { "type": "string" } }, "required": [ - "CodeContent", - "CodeContentType" + "AlertTargetArn", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "AWS::IoT::SecurityProfile.Behavior": { "additionalProperties": false, "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + "Metric": { + "type": "string" }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + "Name": { + "type": "string" }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { + "SuppressAlerts": { "type": "boolean" } }, "required": [ - "SnapshotsEnabled" + "Name" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "AWS::IoT::SecurityProfile.BehaviorCriteria": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "ComparisonOperator": { "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { + "ConsecutiveDatapointsToAlarm": { "type": "number" }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" + "ConsecutiveDatapointsToClear": { + "type": "number" }, - "MinPauseBetweenCheckpoints": { + "DurationSeconds": { "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" }, - "TextContent": { - "type": "string" + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { "additionalProperties": false, "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + "ConfidenceLevel": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.Input": { + "AWS::IoT::SecurityProfile.MetricDimension": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + "DimensionName": { + "type": "string" }, - "NamePrefix": { + "Operator": { "type": "string" } }, "required": [ - "InputSchema", - "NamePrefix" + "DimensionName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Metric": { "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" } }, "required": [ - "ResourceARN" + "Metric" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "AWS::IoT::SecurityProfile.MetricValue": { "additionalProperties": false, "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, "Count": { + "type": "string" + }, + "Number": { "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { + }, + "Numbers": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + "type": "number" }, "type": "array" }, - "RecordEncoding": { - "type": "string" + "Ports": { + "items": { + "type": "number" + }, + "type": "array" }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" + "Strings": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RecordRowPath" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Statistic": { "type": "string" } }, - "required": [ - "ResourceARN" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "AWS::IoT::Thing": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LogLevel": { - "type": "string" + "Metadata": { + "type": "object" }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" }, - "ConfigurationType": { + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], "type": "string" }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ConfigurationType" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "AWS::IoT::Thing.AttributePayload": { "additionalProperties": false, "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "AWS::IoT::ThingPrincipalAttachment": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -52409,22 +55558,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Principal": { "type": "string" }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + "ThingName": { + "type": "string" } }, "required": [ - "ApplicationName", - "CloudWatchLoggingOption" + "Principal", + "ThingName" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + "AWS::IoT::ThingPrincipalAttachment" ], "type": "string" }, @@ -52443,19 +55592,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "AWS::IoT::TopicRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52487,22 +55624,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "RuleName": { "type": "string" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } }, "required": [ - "ApplicationName", - "Output" + "TopicRulePayload" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" + "AWS::IoT::TopicRule" ], "type": "string" }, @@ -52521,1146 +55657,1227 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "AWS::IoT::TopicRule.Action": { "additionalProperties": false, "properties": { - "RecordFormatType": { - "type": "string" + "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" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "ResourceARN": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { "type": "string" } }, "required": [ - "ResourceARN" + "TimeInSeconds" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "AWS::IoT::TopicRule.AssetPropertyValue": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Quality": { "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" } }, "required": [ - "ResourceARN" + "Timestamp", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "AWS::IoT::TopicRule.AssetPropertyVariant": { "additionalProperties": false, "properties": { - "ResourceARN": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { "type": "string" } }, "required": [ - "ResourceARN" + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + "MetricName": { + "type": "string" }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + "MetricNamespace": { + "type": "string" }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + "MetricTimestamp": { + "type": "string" }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + "MetricUnit": { + "type": "string" }, - "Name": { + "MetricValue": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, "required": [ - "DestinationSchema" + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "AWS::IoT::TopicRule.DynamoDBAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HashKeyField": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "HashKeyType": { + "type": "string" }, - "Metadata": { - "type": "object" + "HashKeyValue": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" + "PayloadField": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], + "RangeKeyField": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::TopicRule.DynamoDBv2Action": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { "type": "string" }, - "RecordRowDelimiter": { + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { "type": "string" } }, "required": [ - "RecordRowPath" + "DeliveryStreamName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "AWS::IoT::TopicRule.HttpAction": { "additionalProperties": false, "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" } }, + "required": [ + "Url" + ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "AWS::IoT::TopicRule.HttpActionHeader": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { + "Key": { "type": "string" }, - "SqlType": { + "Value": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Key", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "AWS::IoT::TopicRule.HttpAuthorization": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" }, - "RecordFormatType": { + "RoleArn": { "type": "string" } }, "required": [ - "RecordFormatType" + "ChannelName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + "InputName": { + "type": "string" }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + "MessageId": { + "type": "string" }, - "TableName": { + "RoleArn": { "type": "string" } }, "required": [ - "ReferenceSchema" + "InputName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "AWS::IoT::TopicRule.IotSiteWiseAction": { "additionalProperties": false, "properties": { - "RecordColumns": { + "PutAssetPropertyValueEntries": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" }, "type": "array" }, - "RecordEncoding": { + "RoleArn": { "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "PutAssetPropertyValueEntries", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { - "BucketARN": { + "PartitionKey": { "type": "string" }, - "FileKey": { + "RoleArn": { + "type": "string" + }, + "StreamName": { "type": "string" } }, "required": [ - "BucketARN", - "FileKey" + "RoleArn", + "StreamName" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream": { + "AWS::IoT::TopicRule.LambdaAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EntryId": { + "type": "string" }, - "Metadata": { - "type": "object" + "PropertyAlias": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], + "PropertyId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" } }, "required": [ - "Type" + "PropertyValues" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" + "TableName": { + "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" + "Qos": { + "type": "number" }, - "LogGroupName": { + "RoleArn": { "type": "string" }, - "LogStreamName": { + "Topic": { "type": "string" } }, + "required": [ + "RoleArn", + "Topic" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "AWS::IoT::TopicRule.S3Action": { "additionalProperties": false, "properties": { - "CopyOptions": { + "BucketName": { "type": "string" }, - "DataTableColumns": { + "Key": { "type": "string" }, - "DataTableName": { + "RoleArn": { "type": "string" } }, "required": [ - "DataTableName" + "BucketName", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "AWS::IoT::TopicRule.SigV4Authorization": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + "RoleArn": { + "type": "string" }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + "ServiceName": { + "type": "string" }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + "SigningRegion": { + "type": "string" } }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { - "KeyARN": { + "MessageFormat": { "type": "string" }, - "KeyType": { + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "KeyType" + "RoleArn", + "TargetArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "AWS::IoT::TopicRule.SqsAction": { "additionalProperties": false, "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + "QueueUrl": { + "type": "string" }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" } }, + "required": [ + "QueueUrl", + "RoleArn" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "AWS::IoT::TopicRule.StepFunctionsAction": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" + "ExecutionNamePrefix": { + "type": "string" }, - "SizeInMBs": { - "type": "number" + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" } }, + "required": [ + "RoleArn", + "StateMachineName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" }, - "IndexRotationPeriod": { + "AwsIotSqlVersion": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { + "Description": { "type": "string" }, - "S3BackupMode": { - "type": "string" + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "RuleDisabled": { + "type": "boolean" }, - "TypeName": { + "Sql": { "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "IndexName", - "RoleARN", - "S3Configuration" + "Actions", + "RuleDisabled", + "Sql" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "AWS::IoT::TopicRuleDestination": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Prefix": { - "type": "string" + "Metadata": { + "type": "object" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" }, - "RoleARN": { + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], "type": "string" }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { "additionalProperties": false, "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeValue": { + "ConfirmationUrl": { "type": "string" } }, - "required": [ - "AttributeName", - "AttributeValue" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { "additionalProperties": false, "properties": { - "AccessKey": { + "RoleArn": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Url": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, - "required": [ - "Url" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "AWS::IoTAnalytics::Channel": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + "Metadata": { + "type": "object" }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "RoleARN": { + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], "type": "string" }, - "S3BackupMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "EndpointConfiguration", - "S3Configuration" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "AWS::IoTAnalytics::Channel.ChannelStorage": { "additionalProperties": false, "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" }, - "ContentEncoding": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { "additionalProperties": false, "properties": { - "AWSKMSKeyARN": { + "Bucket": { "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { + }, + "KeyPrefix": { "type": "string" }, - "RoleARN": { + "RoleArn": { "type": "string" } }, "required": [ - "KinesisStreamARN", - "RoleARN" + "Bucket", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "AWS::IoTAnalytics::Channel.RetentionPeriod": { "additionalProperties": false, "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "NumberOfDays": { + "type": "number" }, - "ConvertDotsInJsonKeysToUnderscores": { + "Unlimited": { "type": "boolean" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PaddingTolerance": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RowIndexStride": { - "type": "number" + "Metadata": { + "type": "object" }, - "StripeSizeBytes": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "AWS::IoTAnalytics::Dataset.Action": { "additionalProperties": false, "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + "ActionName": { + "type": "string" + }, + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + }, + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" } }, + "required": [ + "ActionName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "AWS::IoTAnalytics::Dataset.ContainerAction": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "Compression": { + "ExecutionRoleArn": { "type": "string" }, - "EnableDictionaryCompression": { - "type": "boolean" + "Image": { + "type": "string" }, - "MaxPaddingBytes": { - "type": "number" + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" }, - "PageSizeBytes": { - "type": "number" + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" }, - "WriterVersion": { + "EntryName": { "type": "string" } }, + "required": [ + "Destination" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" + "DatasetName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTime": { + "additionalProperties": false, + "properties": { + "OffsetSeconds": { + "type": "number" }, - "Type": { + "TimeExpression": { "type": "string" } }, "required": [ - "Type" + "OffsetSeconds", + "TimeExpression" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { "additionalProperties": false, "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" + "TimeoutInMinutes": { + "type": "number" } }, "required": [ - "ParameterName", - "ParameterValue" + "TimeoutInMinutes" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.Filter": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { "type": "string" }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { + "TableName": { "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "InputName": { "type": "string" }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { + "RoleArn": { "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRule": { + "additionalProperties": false, + "properties": { + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { + "RuleName": { "type": "string" } }, "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" + "RuleConfiguration" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "FileName": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.QueryAction": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" }, - "RoleARN": { + "SqlQuery": { "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "SqlQuery" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { + "ComputeType": { "type": "string" }, - "VersionId": { - "type": "string" + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { "additionalProperties": false, "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + "NumberOfDays": { + "type": "number" }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + "Unlimited": { + "type": "boolean" } }, + "required": [ + "NumberOfDays", + "Unlimited" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { + "Bucket": { "type": "string" }, - "HECEndpointType": { - "type": "string" + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" }, - "HECToken": { + "Key": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { + "RoleArn": { "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "AWS::IoTAnalytics::Dataset.Schedule": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "ScheduleExpression": { + "type": "string" } }, + "required": [ + "ScheduleExpression" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "AWS::IoTAnalytics::Dataset.Trigger": { "additionalProperties": false, "properties": { - "RoleARN": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" } }, "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" + "DatasetName" ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings": { + "AWS::IoTAnalytics::Dataset.Variable": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" }, - "Metadata": { - "type": "object" + "DoubleValue": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" - }, - "TrustedResourceOwners": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" }, - "Type": { - "enum": [ - "AWS::LakeFormation::DataLakeSettings" - ], + "StringValue": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VariableName": { "type": "string" } }, "required": [ - "Type" + "VariableName" ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" } }, "type": "object" }, - "AWS::LakeFormation::Permissions": { + "AWS::IoTAnalytics::Datastore": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -53692,34 +56909,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + "DatastoreName": { + "type": "string" }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" }, - "PermissionsWithGrantOption": { + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" } }, - "required": [ - "DataLakePrincipal", - "Resource" - ], "type": "object" }, "Type": { "enum": [ - "AWS::LakeFormation::Permissions" + "AWS::IoTAnalytics::Datastore" ], "type": "string" }, @@ -53733,122 +56946,113 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { + "AWS::IoTAnalytics::Datastore.Column": { "additionalProperties": false, "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" + }, + "Type": { + "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, + "required": [ + "Bucket", + "RoleArn" + ], "type": "object" }, - "AWS::LakeFormation::Permissions.DataLocationResource": { + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" }, - "S3Resource": { - "type": "string" + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DatabaseResource": { + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" }, - "Name": { - "type": "string" + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.Resource": { + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { "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" + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableResource": { + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" + "NumberOfDays": { + "type": "number" }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + "Unlimited": { + "type": "boolean" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "ColumnNames": { + "Columns": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" }, "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Resource": { + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -53880,25 +57084,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceArn": { - "type": "string" + "PipelineActivities": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + }, + "type": "array" }, - "RoleArn": { + "PipelineName": { "type": "string" }, - "UseServiceLinkedRole": { - "type": "boolean" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ResourceArn", - "UseServiceLinkedRole" + "PipelineActivities" ], "type": "object" }, "Type": { "enum": [ - "AWS::LakeFormation::Resource" + "AWS::IoTAnalytics::Pipeline" ], "type": "string" }, @@ -53917,240 +57126,214 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lambda::Alias": { + "AWS::IoTAnalytics::Pipeline.Activity": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" }, - "Metadata": { - "type": "object" + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.AddAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { "type": "object" }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "AWS::IoTAnalytics::Pipeline.Channel": { "additionalProperties": false, "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" - }, - "type": "array" + "ChannelName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" } }, - "required": [ - "AdditionalVersionWeights" - ], "type": "object" }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "AWS::IoTAnalytics::Pipeline.Datastore": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "DatastoreName": { + "type": "string" + }, + "Name": { + "type": "string" } }, - "required": [ - "ProvisionedConcurrentExecutions" - ], "type": "object" }, - "AWS::Lambda::Alias.VersionWeight": { + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { "additionalProperties": false, "properties": { - "FunctionVersion": { + "Attribute": { "type": "string" }, - "FunctionWeight": { - "type": "number" + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" } }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig": { + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { - "type": "object" + "Next": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" - }, - "FunctionName": { - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "Qualifier": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "type": "object" + "RoleArn": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::EventInvokeConfig" - ], + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Filter": { + "additionalProperties": false, + "properties": { + "Filter": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "AWS::IoTAnalytics::Pipeline.Lambda": { "additionalProperties": false, "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + "BatchSize": { + "type": "number" }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + "LambdaName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { + "AWS::IoTAnalytics::Pipeline.Math": { "additionalProperties": false, "properties": { - "Destination": { + "Attribute": { + "type": "string" + }, + "Math": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { "additionalProperties": false, "properties": { - "Destination": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventSourceMapping": { + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54182,67 +57365,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" }, - "EventSourceArn": { + "DetectorModelDescription": { "type": "string" }, - "FunctionName": { + "DetectorModelName": { "type": "string" }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" + "EvaluationMethod": { + "type": "string" }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" + "Key": { + "type": "string" }, - "StartingPosition": { + "RoleArn": { "type": "string" }, - "Topics": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, - "required": [ - "EventSourceArn", - "FunctionName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::EventSourceMapping" + "AWS::IoTEvents::DetectorModel" ], "type": "string" }, @@ -54256,253 +57408,419 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "AWS::IoTEvents::DetectorModel.Action": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, - "URI": { - "type": "string" + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" } }, "type": "object" }, - "AWS::Lambda::Function": { + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OffsetInNanos": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "TimeInSeconds": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" }, - "Metadata": { - "type": "object" + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Handler", - "Role", - "Runtime" - ], - "type": "object" + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], + "DoubleValue": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IntegerValue": { + "type": "string" + }, + "StringValue": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Function.Code": { + "AWS::IoTEvents::DetectorModel.ClearTimer": { "additionalProperties": false, "properties": { - "S3Bucket": { + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { "type": "string" }, - "S3Key": { + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { "type": "string" }, - "S3ObjectVersion": { + "HashKeyType": { "type": "string" }, - "ZipFile": { + "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::Lambda::Function.DeadLetterConfig": { + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { "additionalProperties": false, "properties": { - "TargetArn": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.Environment": { + "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" }, - "type": "object" + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.FileSystemConfig": { + "AWS::IoTEvents::DetectorModel.Firehose": { "additionalProperties": false, "properties": { - "Arn": { + "DeliveryStreamName": { "type": "string" }, - "LocalMountPath": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { "type": "string" } }, - "required": [ - "Arn", - "LocalMountPath" - ], "type": "object" }, - "AWS::Lambda::Function.TracingConfig": { + "AWS::IoTEvents::DetectorModel.IotEvents": { "additionalProperties": false, "properties": { - "Mode": { + "InputName": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" }, - "AWS::Lambda::Function.VpcConfig": { + "AWS::IoTEvents::DetectorModel.IotSiteWise": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" }, "type": "array" }, - "SubnetIds": { + "TransitionEvents": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" }, "type": "array" } }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], "type": "object" }, - "AWS::Lambda::LayerVersion": { + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ResetTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetTimer": { + "additionalProperties": false, + "properties": { + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sns": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sqs": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::Input": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54534,33 +57852,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" }, - "Description": { + "InputDescription": { "type": "string" }, - "LayerName": { + "InputName": { "type": "string" }, - "LicenseInfo": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Content" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersion" + "AWS::IoTEvents::Input" ], "type": "string" }, @@ -54574,31 +57886,32 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::LayerVersion.Content": { + "AWS::IoTEvents::Input.Attribute": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { + "JsonPath": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::Lambda::LayerVersionPermission": { + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54630,29 +57943,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" }, - "OrganizationId": { + "AccessPolicyPermission": { "type": "string" }, - "Principal": { - "type": "string" + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" } }, "required": [ - "Action", - "LayerVersionArn", - "Principal" + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersionPermission" + "AWS::IoTSiteWise::AccessPolicy" ], "type": "string" }, @@ -54671,7 +57981,79 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lambda::Permission": { + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54703,35 +58085,40 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "FunctionName": { + "AssetModelId": { "type": "string" }, - "Principal": { + "AssetName": { "type": "string" }, - "SourceAccount": { - "type": "string" + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" }, - "SourceArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Action", - "FunctionName", - "Principal" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Permission" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -54750,7 +58137,41 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lambda::Version": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54782,27 +58203,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CodeSha256": { - "type": "string" + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" }, - "Description": { + "AssetModelDescription": { "type": "string" }, - "FunctionName": { + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { "type": "string" }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "FunctionName" + "AssetModelName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Version" + "AWS::IoTSiteWise::AssetModel" ], "type": "string" }, @@ -54821,19 +58260,206 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "ProvisionedConcurrentExecutions" + "Name", + "Type" ], "type": "object" }, - "AWS::Logs::Destination": { + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54865,30 +58491,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationName": { + "DashboardDefinition": { "type": "string" }, - "DestinationPolicy": { + "DashboardDescription": { "type": "string" }, - "RoleArn": { + "DashboardName": { "type": "string" }, - "TargetArn": { + "ProjectId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" + "DashboardDefinition", + "DashboardDescription", + "DashboardName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::IoTSiteWise::Dashboard" ], "type": "string" }, @@ -54907,7 +58538,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Logs::LogGroup": { + "AWS::IoTSiteWise::Gateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54939,21 +58570,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" }, - "LogGroupName": { + "GatewayName": { "type": "string" }, - "RetentionInDays": { - "type": "number" + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogGroup" + "AWS::IoTSiteWise::Gateway" ], "type": "string" }, @@ -54967,11 +58611,51 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Logs::LogStream": { + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55003,21 +58687,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PortalAuthMode": { "type": "string" }, - "LogStreamName": { + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "LogGroupName" + "PortalContactEmail", + "PortalName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogStream" + "AWS::IoTSiteWise::Portal" ], "type": "string" }, @@ -55036,7 +58737,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Logs::MetricFilter": { + "AWS::IoTSiteWise::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55068,29 +58769,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "FilterPattern": { + "PortalId": { "type": "string" }, - "LogGroupName": { + "ProjectDescription": { "type": "string" }, - "MetricTransformations": { + "ProjectName": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" + "PortalId", + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::MetricFilter" + "AWS::IoTSiteWise::Project" ], "type": "string" }, @@ -55109,38 +58812,15 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Logs::MetricFilter.MetricTransformation": { + "AWS::IoTThingsGraph::FlowTemplate": { "additionalProperties": false, "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricValue": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - }, - "AWS::Logs::SubscriptionFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -55164,29 +58844,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" + "CompatibleNamespaceVersion": { + "type": "number" }, - "RoleArn": { - "type": "string" + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "Definition" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::IoTThingsGraph::FlowTemplate" ], "type": "string" }, @@ -55205,7 +58877,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MSK::Cluster": { + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55237,51 +58925,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { + "Description": { "type": "string" }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" - }, - "EnhancedMonitoring": { + "Expression": { "type": "string" }, - "KafkaVersion": { + "ExpressionType": { "type": "string" }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" + "Name": { + "type": "string" }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + "RoleArn": { + "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" + "Expression", + "ExpressionType", + "Name", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::MSK::Cluster" + "AWS::IoTWireless::Destination" ], "type": "string" }, @@ -55300,279 +58976,122 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MSK::Cluster.BrokerLogs": { + "AWS::IoTWireless::DeviceProfile": { "additionalProperties": false, "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { - "type": "string" + "Metadata": { + "type": "object" }, - "ClientSubnets": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "type": "object" }, - "InstanceType": { + "Type": { + "enum": [ + "AWS::IoTWireless::DeviceProfile" + ], "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ClientSubnets", - "InstanceType" + "Type" ], "type": "object" }, - "AWS::MSK::Cluster.ClientAuthentication": { + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { "additionalProperties": false, "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + "ClassBTimeout": { + "type": "number" }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + "ClassCTimeout": { + "type": "number" }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { + "MacVersion": { "type": "string" }, - "Revision": { + "MaxDutyCycle": { "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { + }, + "MaxEirp": { "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { - "type": "string" }, - "InCluster": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + "PingSlotDr": { + "type": "number" }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { + "PingSlotFreq": { + "type": "number" + }, + "PingSlotPeriod": { + "type": "number" + }, + "RegParamsRevision": { "type": "string" }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.JmxExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "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": { - "EnabledInBroker": { + "RfRegion": { + "type": "string" + }, + "Supports32BitFCnt": { "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" + "SupportsClassB": { + "type": "boolean" }, - "Enabled": { + "SupportsClassC": { "type": "boolean" }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "required": [ - "Scram" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { + "SupportsJoin": { "type": "boolean" } }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, "type": "object" }, - "AWS::Macie::CustomDataIdentifier": { + "AWS::IoTWireless::ServiceProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55604,40 +59123,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Keywords": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" } }, - "required": [ - "Name", - "Regex" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::CustomDataIdentifier" + "AWS::IoTWireless::ServiceProfile" ], "type": "string" }, @@ -55651,12 +59154,74 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Macie::FindingsFilter": { + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55688,31 +59253,43 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "Description": { "type": "string" }, - "Description": { + "DestinationName": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "Position": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "FindingCriteria", - "Name" + "DestinationName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::IoTWireless::WirelessDevice" ], "type": "string" }, @@ -55731,283 +59308,142 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Macie::FindingsFilter.Criterion": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, - "properties": {}, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingCriteria": { + "AWS::IoTWireless::WirelessDevice.AbpV11": { "additionalProperties": false, "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" } }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "Id": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { "type": "string" }, - "Name": { + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { "type": "string" } }, "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": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], + "AppEui": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AppKey": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AppEui", + "AppKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "AWS::IoTWireless::WirelessDevice.OtaaV11": { "additionalProperties": false, "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { + "AppKey": { "type": "string" }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { + "JoinEui": { "type": "string" }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { + "NwkKey": { "type": "string" } }, "required": [ - "Name" + "AppKey", + "JoinEui", + "NwkKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { - "AdminPassword": { + "AppSKey": { "type": "string" }, - "AdminUsername": { + "NwkSKey": { "type": "string" } }, "required": [ - "AdminPassword", - "AdminUsername" + "AppSKey", + "NwkSKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Framework": { + "AppSKey": { "type": "string" }, - "FrameworkVersion": { + "FNwkSIntKey": { "type": "string" }, - "Name": { + "NwkSEncKey": { "type": "string" }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { + "SNwkSIntKey": { "type": "string" } }, "required": [ - "Edition" + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { + "AWS::IoTWireless::WirelessGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56039,26 +59475,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "MemberId": { + "Description": { "type": "string" }, - "NetworkId": { + "LastUplinkReceivedAt": { "type": "string" }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" } }, "required": [ - "MemberId", - "NetworkId", - "NodeConfiguration" + "LoRaWAN" ], "type": "object" }, "Type": { "enum": [ - "AWS::ManagedBlockchain::Node" + "AWS::IoTWireless::WirelessGateway" ], "type": "string" }, @@ -56077,23 +59523,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "GatewayEui": { "type": "string" }, - "InstanceType": { + "RfRegion": { "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "GatewayEui", + "RfRegion" ], "type": "object" }, - "AWS::MediaConvert::JobTemplate": { + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56125,48 +59571,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { + "AliasName": { "type": "string" }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { + "TargetKeyId": { "type": "string" - }, - "Tags": { - "type": "object" } }, "required": [ - "SettingsJson" + "AliasName", + "TargetKeyId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::JobTemplate" + "AWS::KMS::Alias" ], "type": "string" }, @@ -56185,34 +59605,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "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": { + "AWS::KMS::Key": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56244,30 +59637,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Category": { + "Description": { "type": "string" }, - "Description": { + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { "type": "string" }, - "Name": { + "KeyUsage": { "type": "string" }, - "SettingsJson": { - "type": "object" + "PendingWindowInDays": { + "type": "number" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SettingsJson" + "KeyPolicy" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Preset" + "AWS::KMS::Key" ], "type": "string" }, @@ -56286,7 +59691,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MediaConvert::Queue": { + "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56318,27 +59723,44 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, "Description": { "type": "string" }, + "IndexId": { + "type": "string" + }, "Name": { "type": "string" }, - "PricingPlan": { + "RoleArn": { "type": "string" }, - "Status": { + "Schedule": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, + "required": [ + "IndexId", + "Name", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Queue" + "AWS::Kendra::DataSource" ], "type": "string" }, @@ -56352,2567 +59774,2626 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Channel": { + "AWS::Kendra::DataSource.AccessControlListConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], + "KeyPath": { "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { "type": "string" } }, "required": [ - "Type" + "AllowedGroupsColumnName" ], "type": "object" }, - "AWS::MediaLive::Channel.AacSettings": { + "AWS::Kendra::DataSource.ChangeDetectingColumns": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Ac3Settings": { + "AWS::Kendra::DataSource.ColumnConfiguration": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" + "ChangeDetectingColumns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" }, - "BitstreamMode": { + "DocumentDataColumnName": { "type": "string" }, - "CodingMode": { + "DocumentIdColumnName": { "type": "string" }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { + "DocumentTitleColumnName": { "type": "string" }, - "LfeFilter": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + } + }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList" }, - "MetadataControl": { - "type": "string" + "CrawlAttachments": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList": { "additionalProperties": false, "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + "ConfluenceAttachmentFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { - "additionalProperties": false, - "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + "DataSourceFieldName": { + "type": "string" }, - "Extension": { + "DateFieldFormat": { "type": "string" }, - "NameModifier": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { "additionalProperties": false, - "properties": {}, + "properties": { + "BlogFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.AudioChannelMapping": { + "AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList": { "additionalProperties": false, "properties": { - "InputChannelLevels": { + "ConfluenceBlogFieldMappingsList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" }, "type": "array" - }, - "OutputChannel": { - "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioCodecSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { "additionalProperties": false, "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + "DataSourceFieldName": { + "type": "string" }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + "DateFieldFormat": { + "type": "string" }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioDescription": { + "AWS::Kendra::DataSource.ConfluenceConfiguration": { "additionalProperties": false, "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" }, - "AudioType": { - "type": "string" + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" }, - "AudioTypeControl": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "LanguageCode": { - "type": "string" + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" }, - "LanguageCodeControl": { + "SecretArn": { "type": "string" }, - "Name": { + "ServerUrl": { "type": "string" }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" }, - "StreamName": { + "Version": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" + "PageFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "AWS::Kendra::DataSource.ConfluencePageFieldMappingsList": { "additionalProperties": false, "properties": { - "Algorithm": { - "type": "string" - }, - "AlgorithmControl": { - "type": "string" - }, - "TargetLkfs": { - "type": "number" + "ConfluencePageFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { "additionalProperties": false, "properties": { - "AudioGroupId": { + "DataSourceFieldName": { "type": "string" }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "AudioTrackType": { + "DateFieldFormat": { "type": "string" }, - "SegmentType": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioPidSelection": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelector": { + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "CrawlArchivedSpaces": { + "type": "boolean" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { - "additionalProperties": false, - "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + "CrawlPersonalSpaces": { + "type": "boolean" }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + "ExcludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + "IncludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" + }, + "SpaceFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioTrack": { + "AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList": { "additionalProperties": false, "properties": { - "Track": { - "type": "number" + "ConfluenceSpaceFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioTrackSelection": { + "AWS::Kendra::DataSource.ConfluenceSpaceList": { "additionalProperties": false, "properties": { - "Tracks": { + "ConfluenceSpaceList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { "additionalProperties": false, "properties": { - "InputPreference": { + "DataSourceFieldName": { "type": "string" }, - "SecondaryInputId": { + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AvailBlanking": { + "AWS::Kendra::DataSource.ConnectionConfiguration": { "additionalProperties": false, "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "DatabaseHost": { + "type": "string" }, - "State": { + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { "type": "string" } }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AvailConfiguration": { + "AWS::Kendra::DataSource.DataSourceConfiguration": { "additionalProperties": false, "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.AvailSettings": { + "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { "additionalProperties": false, "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" - }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + "DataSourceInclusionsExclusionsStrings": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.BlackoutSlate": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { "additionalProperties": false, "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkEndBlackout": { + "DataSourceFieldName": { "type": "string" }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkId": { + "DateFieldFormat": { "type": "string" }, - "State": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" + "DataSourceToIndexFieldMappingList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionDescription": { + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { "additionalProperties": false, "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], "type": "object" }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "AWS::Kendra::DataSource.DatabaseConfiguration": { "additionalProperties": false, "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + "DatabaseEngineType": { + "type": "string" }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], "type": "object" }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { "additionalProperties": false, "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { + "S3Prefix": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelector": { + "AWS::Kendra::DataSource.ExcludeMimeTypesList": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + "ExcludeMimeTypesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "AWS::Kendra::DataSource.ExcludeSharedDrivesList": { "additionalProperties": false, "properties": { - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" - }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" - }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" - }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" - }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + "ExcludeSharedDrivesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { + "AWS::Kendra::DataSource.ExcludeUserAccountsList": { "additionalProperties": false, "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" + "ExcludeUserAccountsList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSdtSettings": { + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { "additionalProperties": false, "properties": { - "OutputSdt": { - "type": "string" + "ExcludeMimeTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeMimeTypesList" }, - "RepInterval": { - "type": "number" + "ExcludeSharedDrives": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeSharedDrivesList" }, - "ServiceName": { - "type": "string" + "ExcludeUserAccounts": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeUserAccountsList" }, - "ServiceProviderName": { + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { "type": "string" } }, + "required": [ + "SecretArn" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "AWS::Kendra::DataSource.OneDriveConfiguration": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" + "DisableLocalGroups": { + "type": "boolean" }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FontColor": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "FontOpacity": { - "type": "number" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FontResolution": { - "type": "number" + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" }, - "FontSize": { + "SecretArn": { "type": "string" }, - "OutlineColor": { + "TenantDomain": { "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" } }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "AWS::Kendra::DataSource.OneDriveUserList": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbTdtSettings": { + "AWS::Kendra::DataSource.OneDriveUsers": { "additionalProperties": false, "properties": { - "RepInterval": { - "type": "number" + "OneDriveUserList": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" + }, + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" } }, "type": "object" }, - "AWS::MediaLive::Channel.Eac3Settings": { + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { "additionalProperties": false, "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" - }, - "LtRtCenterMixLevel": { - "type": "number" - }, - "LtRtSurroundMixLevel": { - "type": "number" - }, - "MetadataControl": { - "type": "string" + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" }, - "PassthroughControl": { + "BucketName": { "type": "string" }, - "PhaseControl": { - "type": "string" + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" }, - "StereoDownmix": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "SurroundExMode": { - "type": "string" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "SurroundMode": { - "type": "string" + "InclusionPrefixes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "AWS::Kendra::DataSource.S3Path": { "additionalProperties": false, "properties": { - "FillLineGap": { - "type": "string" - }, - "FontFamily": { + "Bucket": { "type": "string" }, - "StyleControl": { + "Key": { "type": "string" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { "additionalProperties": false, "properties": { - "Convert608To708": { + "DocumentDataFieldName": { "type": "string" }, - "Scte20Detection": { + "DocumentTitleFieldName": { "type": "string" }, - "Source608ChannelNumber": { - "type": "number" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "Source608TrackNumber": { - "type": "number" + "IncludeFilterTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.EncoderSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { "additionalProperties": false, "properties": { - "AudioDescriptions": { + "SalesforceChatterFeedIncludeFilterTypes": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceConfiguration": { + "additionalProperties": false, + "properties": { + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + "CrawlAttachments": { + "type": "boolean" }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + "SecretArn": { + "type": "string" }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" + "ServerUrl": { + "type": "string" }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" }, - "VideoDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" - }, - "type": "array" + "StandardObjectConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" } }, + "required": [ + "SecretArn", + "ServerUrl" + ], "type": "object" }, - "AWS::MediaLive::Channel.FeatureActivations": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "InputPrepareScheduleActions": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.FecOutputSettings": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { "additionalProperties": false, "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { - "type": "string" - }, - "RowLength": { - "type": "number" + "SalesforceCustomKnowledgeArticleTypeConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "AudioRenditionSets": { - "type": "string" + "CustomKnowledgeArticleTypeConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" }, - "NielsenId3Behavior": { - "type": "string" + "IncludedStates": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" }, - "TimedMetadataBehavior": { - "type": "string" + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" } }, + "required": [ + "IncludedStates" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "SalesforceKnowledgeArticleStateList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "NameModifier": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { "additionalProperties": false, "properties": { - "CaptureInterval": { - "type": "number" - }, - "CaptureIntervalUnits": { + "DocumentTitleFieldName": { "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, "type": "object" }, - "AWS::MediaLive::Channel.GlobalConfiguration": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { "additionalProperties": false, "properties": { - "InitialAudioGain": { - "type": "number" - }, - "InputEndAction": { + "DocumentDataFieldName": { "type": "string" }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { + "DocumentTitleFieldName": { "type": "string" }, - "OutputTimingSource": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "SupportLowFramerateInputs": { + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "SalesforceStandardObjectConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.H264FilterSettings": { + "AWS::Kendra::DataSource.ServiceNowConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { + "type": "string" } }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264Settings": { + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" + "CrawlAttachments": { + "type": "boolean" }, - "AfdSignaling": { + "DocumentDataFieldName": { "type": "string" }, - "Bitrate": { - "type": "number" - }, - "BufFillPct": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { + "DocumentTitleFieldName": { "type": "string" }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "EntropyEncoding": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" }, - "FixedAfd": { + "DocumentDataFieldName": { "type": "string" }, - "FlickerAq": { + "DocumentTitleFieldName": { "type": "string" }, - "ForceFieldPictures": { - "type": "string" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FramerateControl": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "FramerateDenominator": { - "type": "number" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SharePointConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" }, - "FramerateNumerator": { - "type": "number" + "DisableLocalGroups": { + "type": "boolean" }, - "GopBReference": { + "DocumentTitleFieldName": { "type": "string" }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "GopSizeUnits": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "Level": { - "type": "string" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "LookAheadRateControl": { + "SecretArn": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { + "SharePointVersion": { "type": "string" }, - "ParDenominator": { - "type": "number" + "Urls": { + "items": { + "type": "string" + }, + "type": "array" }, - "ParNumerator": { - "type": "number" + "UseChangeLog": { + "type": "boolean" }, - "Profile": { + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SqlConfiguration": { + "additionalProperties": false, + "properties": { + "QueryIdentifiersEnclosingOption": { "type": "string" - }, - "QualityLevel": { + } + }, + "type": "object" + }, + "AWS::Kendra::Faq": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Softness": { - "type": "number" + "Metadata": { + "type": "object" }, - "SpatialAq": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" }, - "SubgopLength": { + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], "type": "string" }, - "Syntax": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TemporalAq": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "TimecodeInsertion": { + "Key": { "type": "string" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "AWS::Kendra::Index": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + "Metadata": { + "type": "object" }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265FilterSettings": { + "AWS::Kendra::Index.CapacityUnitsConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "QueryCapacityUnits": { + "type": "number" + }, + "StorageCapacityUnits": { + "type": "number" } }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265Settings": { + "AWS::Kendra::Index.DocumentMetadataConfiguration": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { + "Name": { "type": "string" }, - "Bitrate": { - "type": "number" + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" }, - "BufSize": { - "type": "number" + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" }, - "ColorMetadata": { + "Type": { "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "GroupAttributeField": { "type": "string" }, - "FlickerAq": { + "UserNameAttributeField": { "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { + } + }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], + "type": "object" + }, + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "ClaimRegex": { "type": "string" }, - "Level": { + "GroupAttributeField": { "type": "string" }, - "LookAheadRateControl": { + "Issuer": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { + "KeyLocation": { "type": "string" }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { + "SecretManagerArn": { "type": "string" }, - "ScanType": { + "URL": { "type": "string" }, - "SceneChangeDetect": { + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { "type": "string" }, - "Slices": { + "Freshness": { + "type": "boolean" + }, + "Importance": { "type": "number" }, - "Tier": { + "RankOrder": { "type": "string" }, - "TimecodeInsertion": { - "type": "string" + "ValueImportanceItems": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" } }, "type": "object" }, - "AWS::MediaLive::Channel.Hdr10Settings": { + "AWS::Kendra::Index.Search": { "additionalProperties": false, "properties": { - "MaxCll": { - "type": "number" + "Displayable": { + "type": "boolean" }, - "MaxFall": { - "type": "number" + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { + "KmsKeyId": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "AWS::Kendra::Index.UserTokenConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "NumRetries": { - "type": "number" + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" }, - "RestartDelay": { - "type": "number" + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsCdnSettings": { + "AWS::Kendra::Index.ValueImportanceItem": { "additionalProperties": false, "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + "Key": { + "type": "string" }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsGroupSettings": { + "AWS::Kendra::Index.ValueImportanceItems": { "additionalProperties": false, "properties": { - "AdMarkers": { + "ValueImportanceItems": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" }, "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "BaseUrlManifest": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BaseUrlManifest1": { - "type": "string" + "Metadata": { + "type": "object" }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" - }, - "ClientCache": { - "type": "string" - }, - "CodecSpecification": { - "type": "string" + "required": [ + "ShardCount" + ], + "type": "object" }, - "ConstantIv": { + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], "type": "string" }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { "EncryptionType": { "type": "string" }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { + "KeyId": { "type": "string" - }, - "IFrameOnlyPlaylists": { + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IndexNSegments": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InputLossAction": { - "type": "string" + "Metadata": { + "type": "object" }, - "IvInManifest": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" }, - "IvSource": { + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], "type": "string" }, - "KeepSegments": { - "type": "number" - }, - "KeyFormat": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "KeyFormatVersions": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" - }, - "ManifestCompression": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ManifestDurationFormat": { - "type": "string" + "Metadata": { + "type": "object" }, - "MinSegmentLength": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" }, - "Mode": { + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], "type": "string" }, - "OutputSelection": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ProgramDateTime": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { "type": "string" }, - "ProgramDateTimePeriod": { - "type": "number" - }, - "RedundantManifest": { + "RecordRowDelimiter": { "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" }, - "SegmentLength": { - "type": "number" + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" }, - "SegmentationMode": { - "type": "string" + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" }, - "SegmentsPerSubdirectory": { - "type": "number" + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" }, - "StreamInfResolution": { - "type": "string" + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" }, - "TimedMetadataId3Frame": { + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "TimedMetadataId3Period": { - "type": "number" - }, - "TimestampDeltaMilliseconds": { - "type": "number" - }, - "TsFileMode": { + "RoleARN": { "type": "string" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsInputSettings": { + "AWS::KinesisAnalytics::Application.InputParallelism": { "additionalProperties": false, "properties": { - "Bandwidth": { - "type": "number" - }, - "BufferSegments": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "RetryInterval": { + "Count": { "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsOutputSettings": { + "AWS::KinesisAnalytics::Application.InputSchema": { "additionalProperties": false, "properties": { - "H265PackagingType": { - "type": "string" - }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" }, - "NameModifier": { + "RecordEncoding": { "type": "string" }, - "SegmentModifier": { - "type": "string" + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" } }, + "required": [ + "RecordColumns", + "RecordFormat" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsSettings": { + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { "additionalProperties": false, "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" - }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" - }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + "RecordRowPath": { + "type": "string" } }, + "required": [ + "RecordRowPath" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { + "ResourceARN": { "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "RoleARN": { + "type": "string" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputAttachment": { + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { "additionalProperties": false, "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { + "ResourceARN": { "type": "string" }, - "InputId": { + "RoleARN": { "type": "string" - }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputChannelLevel": { + "AWS::KinesisAnalytics::Application.MappingParameters": { "additionalProperties": false, "properties": { - "Gain": { - "type": "number" + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" }, - "InputChannel": { - "type": "number" + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" } }, "type": "object" }, - "AWS::MediaLive::Channel.InputLocation": { + "AWS::KinesisAnalytics::Application.RecordColumn": { "additionalProperties": false, "properties": { - "PasswordParam": { + "Mapping": { "type": "string" }, - "Uri": { + "Name": { "type": "string" }, - "Username": { + "SqlType": { "type": "string" } }, + "required": [ + "Name", + "SqlType" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputLossBehavior": { + "AWS::KinesisAnalytics::Application.RecordFormat": { "additionalProperties": false, "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { - "type": "string" - }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" }, - "InputLossImageType": { + "RecordFormatType": { "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" } }, + "required": [ + "RecordFormatType" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSettings": { + "AWS::KinesisAnalytics::ApplicationOutput": { "additionalProperties": false, "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FilterStrength": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InputFilter": { - "type": "string" + "Metadata": { + "type": "object" }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" }, - "Smpte2038DataPreference": { + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], "type": "string" }, - "SourceEndBehavior": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSpecification": { + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { "additionalProperties": false, "properties": { - "Codec": { - "type": "string" - }, - "MaximumBitrate": { - "type": "string" - }, - "Resolution": { + "RecordFormatType": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.KeyProviderSettings": { + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { "additionalProperties": false, "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.M2tsSettings": { + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { "additionalProperties": false, "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { + "ResourceARN": { "type": "string" }, - "AribCaptionsPid": { + "RoleARN": { "type": "string" - }, - "AribCaptionsPidControl": { + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "AudioBufferModel": { + "RoleARN": { "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" }, - "AudioStreamType": { - "type": "string" + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" }, - "Bitrate": { - "type": "number" + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { - "type": "string" - }, - "FragmentTime": { - "type": "number" - }, - "Klv": { - "type": "string" - }, - "KlvDataPids": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { - "type": "string" - }, - "Scte27Pids": { - "type": "string" - }, - "Scte35Control": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "SegmentationMarkers": { - "type": "string" - }, - "SegmentationStyle": { - "type": "string" - }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { + "Name": { "type": "string" } }, + "required": [ + "DestinationSchema" + ], "type": "object" }, - "AWS::MediaLive::Channel.M3u8Settings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { "additionalProperties": false, "properties": { - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ProgramNum": { - "type": "number" - }, - "Scte35Behavior": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Scte35Pid": { - "type": "string" + "Metadata": { + "type": "object" }, - "TimedMetadataBehavior": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" }, - "TimedMetadataPid": { + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], "type": "string" }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" } }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { "additionalProperties": false, "properties": { - "ChannelId": { + "RecordRowPath": { "type": "string" } }, + "required": [ + "RecordRowPath" + ], "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { "additionalProperties": false, - "properties": {}, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.Mp2Settings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" + "Mapping": { + "type": "string" }, - "CodingMode": { + "Name": { "type": "string" }, - "SampleRate": { - "type": "number" + "SqlType": { + "type": "string" } }, + "required": [ + "Name", + "SqlType" + ], "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { "additionalProperties": false, "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" }, - "CertificateMode": { + "RecordFormatType": { "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" }, - "EventId": { + "TableName": { "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" }, - "EventIdMode": { + "RecordEncoding": { "type": "string" }, - "EventStopBehavior": { + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { "type": "string" }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { + "FileKey": { "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "SegmentationMode": { + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SendDelayMs": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SparseTrackType": { - "type": "string" + "Metadata": { + "type": "object" }, - "StreamManifestBehavior": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" }, - "TimestampOffset": { + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], "type": "string" }, - "TimestampOffsetMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { "additionalProperties": false, "properties": { - "H265PackagingType": { - "type": "string" + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" }, - "NameModifier": { + "CodeContentType": { "type": "string" } }, + "required": [ + "CodeContent", + "CodeContentType" + ], "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { "additionalProperties": false, - "properties": {}, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "SnapshotsEnabled": { + "type": "boolean" } }, + "required": [ + "SnapshotsEnabled" + ], "type": "object" }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { "additionalProperties": false, "properties": { - "MultiplexId": { + "RecordColumnDelimiter": { "type": "string" }, - "ProgramName": { + "RecordRowDelimiter": { "type": "string" } }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], "type": "object" }, - "AWS::MediaLive::Channel.NetworkInputSettings": { + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { "additionalProperties": false, "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + "CheckpointInterval": { + "type": "number" }, - "ServerValidation": { + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" } }, + "required": [ + "ConfigurationType" + ], "type": "object" }, - "AWS::MediaLive::Channel.NielsenConfiguration": { + "AWS::KinesisAnalyticsV2::Application.CodeContent": { "additionalProperties": false, "properties": { - "DistributorId": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { "type": "string" }, - "NielsenPcmToId3Tagging": { + "ZipFileContent": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.Output": { + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { "additionalProperties": false, "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CaptionDescriptionNames": { + "PropertyGroups": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" }, "type": "array" - }, - "OutputName": { - "type": "string" - }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { - "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputDestination": { + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" - }, - "type": "array" + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { + "AWS::KinesisAnalyticsV2::Application.Input": { "additionalProperties": false, "properties": { - "PasswordParam": { - "type": "string" + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" }, - "StreamName": { - "type": "string" + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" }, - "Url": { - "type": "string" + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" + "NamePrefix": { + "type": "string" } }, + "required": [ + "InputSchema", + "NamePrefix" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { "additionalProperties": false, "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" - }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" - }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" - }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" - }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" - }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" - }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" - }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + "ResourceARN": { + "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputLocationRef": { + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { "additionalProperties": false, "properties": { - "DestinationRefId": { - "type": "string" + "Count": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputSettings": { + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { "additionalProperties": false, "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" - }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" - }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" } }, "type": "object" }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { + "AWS::KinesisAnalyticsV2::Application.InputSchema": { "additionalProperties": false, "properties": { - "ChannelMappings": { + "RecordColumns": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" }, "type": "array" }, - "ChannelsIn": { - "type": "number" + "RecordEncoding": { + "type": "string" }, - "ChannelsOut": { - "type": "number" + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" } }, + "required": [ + "RecordColumns", + "RecordFormat" + ], "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { "additionalProperties": false, "properties": { - "AuthenticationScheme": { - "type": "string" - }, - "CacheFullBehavior": { - "type": "string" - }, - "CacheLength": { - "type": "number" - }, - "CaptionData": { - "type": "string" - }, - "InputLossAction": { + "RecordRowPath": { "type": "string" - }, - "RestartDelay": { - "type": "number" } }, + "required": [ + "RecordRowPath" + ], "type": "object" }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { "additionalProperties": false, "properties": { - "CertificateMode": { + "ResourceARN": { "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "NumRetries": { - "type": "number" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { "additionalProperties": false, "properties": { - "Convert608To708": { + "ResourceARN": { "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { "additionalProperties": false, "properties": { - "AdAvailOffset": { - "type": "number" + "ConfigurationType": { + "type": "string" }, - "NoRegionalBlackoutFlag": { + "LogLevel": { "type": "string" }, - "WebDeliveryAllowedFlag": { + "MetricsLevel": { "type": "string" } }, + "required": [ + "ConfigurationType" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { "additionalProperties": false, "properties": { - "AdAvailOffset": { - "type": "number" + "AutoScalingEnabled": { + "type": "boolean" }, - "NoRegionalBlackoutFlag": { + "ConfigurationType": { "type": "string" }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" + "Parallelism": { + "type": "number" }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + "ParallelismPerKPU": { + "type": "number" } }, + "required": [ + "ConfigurationType" + ], "type": "object" }, - "AWS::MediaLive::Channel.StaticKeySettings": { + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { "additionalProperties": false, "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "StaticKeyValue": { + "PropertyGroupId": { "type": "string" + }, + "PropertyMap": { + "type": "object" } }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { "additionalProperties": false, "properties": { - "PageNumber": { + "Mapping": { "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { - "additionalProperties": false, - "properties": { - "PostFilterSharpening": { + }, + "Name": { "type": "string" }, - "Strength": { + "SqlType": { "type": "string" } }, + "required": [ + "Name", + "SqlType" + ], "type": "object" }, - "AWS::MediaLive::Channel.TimecodeConfig": { + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { "additionalProperties": false, "properties": { - "Source": { - "type": "string" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" }, - "SyncThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { - "additionalProperties": false, - "properties": { - "StyleControl": { + "RecordFormatType": { "type": "string" } }, + "required": [ + "RecordFormatType" + ], "type": "object" }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { "additionalProperties": false, "properties": { - "InputLossAction": { + "BucketARN": { "type": "string" }, - "TimedMetadataId3Frame": { + "FileKey": { "type": "string" }, - "TimedMetadataId3Period": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpOutputSettings": { - "additionalProperties": false, - "properties": { - "BufferMsec": { - "type": "number" - }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + "ObjectVersion": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoCodecSettings": { + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { "additionalProperties": false, "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" - }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" - }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoDescription": { + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { "additionalProperties": false, "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" - }, - "Height": { - "type": "number" - }, - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RespondToAfd": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ScalingBehavior": { - "type": "string" + "Metadata": { + "type": "object" }, - "Sharpness": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelector": { - "additionalProperties": false, - "properties": { - "ColorSpace": { + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], "type": "string" }, - "ColorSpaceUsage": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "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" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { "additionalProperties": false, "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" - }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + "LogStreamARN": { + "type": "string" } }, + "required": [ + "LogStreamARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Input": { + "AWS::KinesisAnalyticsV2::ApplicationOutput": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58944,57 +62425,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "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": { + "ApplicationName": { "type": "string" }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" } }, + "required": [ + "ApplicationName", + "Output" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "type": "string" }, @@ -59008,80 +62454,81 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { "additionalProperties": false, "properties": { - "StreamName": { + "RecordFormatType": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Input.InputDeviceRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { "additionalProperties": false, "properties": { - "Id": { + "ResourceARN": { "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Input.InputDeviceSettings": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { "additionalProperties": false, "properties": { - "Id": { + "ResourceARN": { "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { "additionalProperties": false, "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { + "ResourceARN": { "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Input.InputVpcRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { "type": "string" } }, + "required": [ + "DestinationSchema" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59113,21 +62560,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "ApplicationName": { + "type": "string" }, - "WhitelistRules": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" - }, - "type": "array" + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" } }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "type": "string" }, @@ -59141,226 +62589,142 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { "additionalProperties": false, "properties": { - "Cidr": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { "type": "string" } }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], "type": "object" }, - "AWS::MediaPackage::Asset": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RecordRowPath": { "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EgressEndpoints": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" - ], - "type": "object" + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::MediaPackage::Asset" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SqlType": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "SqlType" ], "type": "object" }, - "AWS::MediaPackage::Asset.EgressEndpoint": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { "additionalProperties": false, "properties": { - "PackagingConfigurationId": { - "type": "string" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" }, - "Url": { + "RecordFormatType": { "type": "string" } }, "required": [ - "PackagingConfigurationId", - "Url" + "RecordFormatType" ], "type": "object" }, - "AWS::MediaPackage::Channel": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" }, - "Type": { - "enum": [ - "AWS::MediaPackage::Channel" - ], - "type": "string" + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ReferenceSchema" ], "type": "object" }, - "AWS::MediaPackage::Channel.HlsIngest": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { "additionalProperties": false, "properties": { - "ingestEndpoints": { + "RecordColumns": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" }, "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" } }, + "required": [ + "RecordColumns", + "RecordFormat" + ], "type": "object" }, - "AWS::MediaPackage::Channel.IngestEndpoint": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Url": { + "BucketARN": { "type": "string" }, - "Username": { + "FileKey": { "type": "string" } }, + "required": [ + "BucketARN", + "FileKey" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint": { + "AWS::KinesisFirehose::DeliveryStream": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59392,64 +62756,48 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" }, - "ChannelId": { + "DeliveryStreamName": { "type": "string" }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { + "DeliveryStreamType": { "type": "string" }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" }, - "Id": { - "type": "string" + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" }, - "ManifestName": { - "type": "string" + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" }, - "Origination": { - "type": "string" + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" }, - "StartoverWindowSeconds": { - "type": "number" + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TimeDelaySeconds": { - "type": "number" - }, - "Whitelist": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "ChannelId", - "Id" - ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::OriginEndpoint" + "AWS::KinesisFirehose::DeliveryStream" ], "type": "string" }, @@ -59463,645 +62811,716 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { "type": "string" }, - "SecretsRoleArn": { + "LogStreamName": { "type": "string" } }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" + "CopyOptions": { + "type": "string" }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "DataTableName" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" - }, - "type": "array" + "Enabled": { + "type": "boolean" }, - "SegmentDurationSeconds": { - "type": "number" + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" }, - "SegmentPrefix": { - "type": "string" + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" + "KeyARN": { + "type": "string" }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "KeyType": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "KeyType" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { - "type": "string" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { + "IntervalInSeconds": { "type": "number" }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "SizeInMBs": { + "type": "number" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { "additionalProperties": false, "properties": { - "AdMarkers": { - "type": "string" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, - "AdsOnDeliveryRestrictions": { + "ClusterEndpoint": { "type": "string" }, - "Id": { + "DomainARN": { "type": "string" }, - "IncludeIframeOnlyStream": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "ManifestName": { + "IndexRotationPeriod": { "type": "string" }, - "PlaylistType": { + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { "type": "string" }, - "PlaylistWindowSeconds": { - "type": "number" + "S3BackupMode": { + "type": "string" }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, - "Url": { + "TypeName": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "Id" + "IndexName", + "RoleARN", + "S3Configuration" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { "additionalProperties": false, "properties": { - "AdMarkers": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { "type": "string" }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" }, - "AdsOnDeliveryRestrictions": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { "type": "string" }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" }, - "IncludeIframeOnlyStream": { - "type": "boolean" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" }, - "PlaylistType": { + "ErrorOutputPrefix": { "type": "string" }, - "PlaylistWindowSeconds": { - "type": "number" + "Prefix": { + "type": "string" }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, - "SegmentDurationSeconds": { - "type": "number" + "RoleARN": { + "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, - "UseAudioRenditionGroup": { - "type": "boolean" + "S3BackupMode": { + "type": "string" } }, + "required": [ + "BucketARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" + "AttributeName": { + "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "AttributeValue": { + "type": "string" } }, + "required": [ + "AttributeName", + "AttributeValue" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { + "AccessKey": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, "Url": { "type": "string" } }, "required": [ - "ResourceId", - "RoleArn", - "SystemIds", "Url" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { "additionalProperties": false, "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" }, - "MinVideoBitsPerSecond": { - "type": "number" + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, - "Metadata": { - "type": "object" + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" - }, - "Id": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" - }, - "PackagingGroupId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId" - ], - "type": "object" + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingConfiguration" - ], + "RoleARN": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3BackupMode": { "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "Type", - "Properties" + "EndpointConfiguration", + "S3Configuration" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" } }, - "required": [ - "HlsManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "AWSKMSKeyARN": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "AWSKMSKeyARN" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { "additionalProperties": false, "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { + "KinesisStreamARN": { "type": "string" }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { + "RoleARN": { "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { "additionalProperties": false, "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" }, - "PeriodTriggers": { + "BloomFilterColumns": { "items": { "type": "string" }, "type": "array" }, - "SegmentDurationSeconds": { + "BloomFilterFalsePositiveProbability": { "type": "number" }, - "SegmentTemplateFormat": { + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" } }, - "required": [ - "DashManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "SpekeKeyProvider": { - "type": "object" + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { "additionalProperties": false, "properties": { - "AdMarkers": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { "type": "string" }, - "IncludeIframeOnlyStream": { + "EnableDictionaryCompression": { "type": "boolean" }, - "ManifestName": { - "type": "string" - }, - "ProgramDateTimeIntervalSeconds": { + "MaxPaddingBytes": { "type": "number" }, - "RepeatExtXKey": { - "type": "boolean" + "PageSizeBytes": { + "type": "number" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "WriterVersion": { + "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + "Enabled": { + "type": "boolean" }, - "HlsManifests": { + "Processors": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" } }, - "required": [ - "HlsManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "AWS::KinesisFirehose::DeliveryStream.Processor": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "Type" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { "additionalProperties": false, "properties": { - "ManifestName": { + "ParameterName": { "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "ParameterValue": { + "type": "string" } }, + "required": [ + "ParameterName", + "ParameterValue" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, - "MssManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" - }, - "type": "array" + "ClusterJDBCURL": { + "type": "string" }, - "SegmentDurationSeconds": { - "type": "number" + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "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" + }, + "Username": { + "type": "string" } }, "required": [ - "MssManifests" + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { "additionalProperties": false, "properties": { - "RoleArn": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { "type": "string" }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" }, - "Url": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { "type": "string" } }, "required": [ - "RoleArn", - "SystemIds", - "Url" + "BucketARN", + "RoleARN" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { "additionalProperties": false, "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" + "CatalogId": { + "type": "string" }, - "MinVideoBitsPerSecond": { + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { "type": "number" }, - "StreamOrder": { + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" } }, "type": "object" }, - "AWS::MediaPackage::PackagingGroup": { + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60133,27 +63552,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" - }, - "Id": { - "type": "string" + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, - "Tags": { + "TrustedResourceOwners": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" } }, - "required": [ - "Id" - ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::PackagingGroup" + "AWS::LakeFormation::DataLakeSettings" ], "type": "string" }, @@ -60167,28 +63580,25 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MediaPackage::PackagingGroup.Authorization": { + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { + "DataLakePrincipalIdentifier": { "type": "string" } }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60220,42 +63630,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" }, - "CorsPolicy": { + "Permissions": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "type": "string" }, "type": "array" }, - "LifecyclePolicy": { - "type": "string" - }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { - "type": "string" - }, - "Tags": { + "PermissionsWithGrantOption": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" } }, "required": [ - "ContainerName" + "DataLakePrincipal", + "Resource" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::LakeFormation::Permissions" ], "type": "string" }, @@ -60274,74 +63676,117 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::LakeFormation::Permissions.ColumnWildcard": { "additionalProperties": false, "properties": { - "AllowedHeaders": { + "ExcludedColumnNames": { "items": { "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.Resource": { + "additionalProperties": false, + "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "DatabaseResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" }, - "MaxAgeSeconds": { - "type": "number" + "TableResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" } }, "type": "object" }, - "AWS::MediaStore::Container.MetricPolicy": { + "AWS::LakeFormation::Permissions.TableResource": { "additionalProperties": false, "properties": { - "ContainerLevelMetrics": { + "CatalogId": { "type": "string" }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" } }, - "required": [ - "ContainerLevelMetrics" - ], "type": "object" }, - "AWS::MediaStore::Container.MetricPolicyRule": { + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { "additionalProperties": false, "properties": { - "ObjectGroup": { + "CatalogId": { "type": "string" }, - "ObjectGroupName": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { "type": "string" } }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::LakeFormation::Resource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60373,93 +63818,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "SnapshotIdentifier": { + "ResourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "RoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { + "UseServiceLinkedRole": { "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::LakeFormation::Resource" ], "type": "string" }, @@ -60473,26 +63850,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::Lambda::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60527,32 +63890,32 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, - "Family": { + "FunctionName": { "type": "string" }, - "Name": { + "FunctionVersion": { "type": "string" }, - "Parameters": { - "type": "object" + "Name": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" } }, "required": [ - "Description", - "Family", - "Parameters" + "FunctionName", + "FunctionVersion", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::Lambda::Alias" ], "type": "string" }, @@ -60571,7 +63934,50 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60603,51 +64009,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" }, - "DBSubnetGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { + "Description": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBInstanceClass" + "AllowedPublishers" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBInstance" + "AWS::Lambda::CodeSigningConfig" ], "type": "string" }, @@ -60666,7 +64045,34 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBParameterGroup": { + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60698,35 +64104,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" }, - "Family": { + "FunctionName": { "type": "string" }, - "Name": { - "type": "string" + "MaximumEventAgeInSeconds": { + "type": "number" }, - "Parameters": { - "type": "object" + "MaximumRetryAttempts": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Qualifier": { + "type": "string" } }, "required": [ - "Description", - "Family", - "Parameters" + "FunctionName", + "Qualifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBParameterGroup" + "AWS::Lambda::EventInvokeConfig" ], "type": "string" }, @@ -60745,7 +64147,43 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBSubnetGroup": { + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60777,34 +64215,81 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { "type": "string" }, - "DBSubnetGroupName": { + "FunctionName": { "type": "string" }, - "SubnetIds": { + "FunctionResponseTypes": { "items": { "type": "string" }, "type": "array" }, - "Tags": { + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "PartialBatchResponse": { + "type": "boolean" + }, + "Queues": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "Topics": { + "items": { + "type": "string" }, "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "FunctionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::Lambda::EventSourceMapping" ], "type": "string" }, @@ -60823,80 +64308,58 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::CustomerGatewayAssociation": { + "AWS::Lambda::EventSourceMapping.DestinationConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" }, - "required": [ - "CustomerGatewayArn", - "DeviceId", - "GlobalNetworkId" - ], - "type": "object" - }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { "Type": { - "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" - ], "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "URI": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::NetworkManager::Device": { + "AWS::Lambda::Function": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60928,22 +64391,58 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, "Description": { "type": "string" }, - "GlobalNetworkId": { + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + "Handler": { + "type": "string" }, - "Model": { + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { "type": "string" }, - "SerialNumber": { + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { "type": "string" }, - "SiteId": { + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { "type": "string" }, "Tags": { @@ -60952,21 +64451,25 @@ var CloudformationSchema = `{ }, "type": "array" }, - "Type": { - "type": "string" + "Timeout": { + "type": "number" }, - "Vendor": { - "type": "string" + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" } }, "required": [ - "GlobalNetworkId" + "Code", + "Role" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Device" + "AWS::Lambda::Function" ], "type": "string" }, @@ -60985,102 +64488,136 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Device.Location": { + "AWS::Lambda::Function.Code": { "additionalProperties": false, "properties": { - "Address": { + "ImageUri": { "type": "string" }, - "Latitude": { + "S3Bucket": { "type": "string" }, - "Longitude": { + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::GlobalNetwork": { + "AWS::Lambda::Function.DeadLetterConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetArn": { "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::GlobalNetwork" - ], + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LocalMountPath": { "type": "string" } }, "required": [ - "Type" + "Arn", + "LocalMountPath" ], "type": "object" }, - "AWS::NetworkManager::Link": { + "AWS::Lambda::Function.ImageConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Command": { + "items": { + "type": "string" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, { "items": { "pattern": "^[a-zA-Z0-9]+$", @@ -61096,41 +64633,33 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" - }, - "Description": { - "type": "string" + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" }, - "GlobalNetworkId": { - "type": "string" + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" }, - "Provider": { + "Description": { "type": "string" }, - "SiteId": { + "LayerName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { + "LicenseInfo": { "type": "string" } }, "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" + "Content" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Link" + "AWS::Lambda::LayerVersion" ], "type": "string" }, @@ -61149,19 +64678,26 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Link.Bandwidth": { + "AWS::Lambda::LayerVersion.Content": { "additionalProperties": false, "properties": { - "DownloadSpeed": { - "type": "number" + "S3Bucket": { + "type": "string" }, - "UploadSpeed": { - "type": "number" + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" } }, + "required": [ + "S3Bucket", + "S3Key" + ], "type": "object" }, - "AWS::NetworkManager::LinkAssociation": { + "AWS::Lambda::LayerVersionPermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61193,26 +64729,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "Action": { "type": "string" }, - "GlobalNetworkId": { + "LayerVersionArn": { "type": "string" }, - "LinkId": { + "OrganizationId": { + "type": "string" + }, + "Principal": { "type": "string" } }, "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" + "Action", + "LayerVersionArn", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::LinkAssociation" + "AWS::Lambda::LayerVersionPermission" ], "type": "string" }, @@ -61231,7 +64770,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Site": { + "AWS::Lambda::Permission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61263,30 +64802,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "GlobalNetworkId": { + "EventSourceToken": { "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + "FunctionName": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" } }, "required": [ - "GlobalNetworkId" + "Action", + "FunctionName", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Site" + "AWS::Lambda::Permission" ], "type": "string" }, @@ -61305,22 +64849,90 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Site.Location": { + "AWS::Lambda::Version": { "additionalProperties": false, "properties": { - "Address": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Latitude": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], "type": "string" }, - "Longitude": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::NetworkManager::TransitGatewayRegistration": { + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61352,22 +64964,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GlobalNetworkId": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { "type": "string" }, - "TransitGatewayArn": { + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { "type": "string" } }, - "required": [ - "GlobalNetworkId", - "TransitGatewayArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" + "AWS::LicenseManager::Grant" ], "type": "string" }, @@ -61381,12 +65007,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::OpsWorks::App": { + "AWS::LicenseManager::License": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61418,68 +65043,60 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" + "Beneficiary": { + "type": "string" }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" }, - "DataSources": { + "Entitlements": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" }, "type": "array" }, - "Description": { + "HomeRegion": { "type": "string" }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableSsl": { - "type": "boolean" + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" }, - "Environment": { + "LicenseMetadata": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" }, "type": "array" }, - "Name": { + "LicenseName": { "type": "string" }, - "Shortname": { + "ProductName": { "type": "string" }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { + "ProductSKU": { "type": "string" }, - "Type": { + "Status": { "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" } }, "required": [ - "Name", - "StackId", - "Type" + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::App" + "AWS::LicenseManager::License" ], "type": "string" }, @@ -61498,80 +65115,125 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::App.DataSource": { + "AWS::LicenseManager::License.BorrowConfiguration": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "AllowEarlyCheckIn": { + "type": "boolean" }, - "DatabaseName": { - "type": "string" + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" }, - "Type": { + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { "type": "string" } }, "type": "object" }, - "AWS::OpsWorks::App.EnvironmentVariable": { + "AWS::LicenseManager::License.Entitlement": { "additionalProperties": false, "properties": { - "Key": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { "type": "string" }, - "Secure": { + "Overage": { "type": "boolean" }, + "Unit": { + "type": "string" + }, "Value": { "type": "string" } }, "required": [ - "Key", - "Value" + "Name", + "Unit" ], "type": "object" }, - "AWS::OpsWorks::App.Source": { + "AWS::LicenseManager::License.IssuerData": { "additionalProperties": false, "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { + "Name": { "type": "string" }, - "Type": { + "SignKey": { "type": "string" - }, - "Url": { + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "Username": { + "Value": { "type": "string" } }, + "required": [ + "Name", + "Value" + ], "type": "object" }, - "AWS::OpsWorks::App.SslConfiguration": { + "AWS::LicenseManager::License.ProvisionalConfiguration": { "additionalProperties": false, "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { "type": "string" }, - "PrivateKey": { + "End": { "type": "string" } }, + "required": [ + "Begin", + "End" + ], "type": "object" }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61603,22 +65265,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ElasticLoadBalancerName": { + "DestinationName": { "type": "string" }, - "LayerId": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ElasticLoadBalancerName", - "LayerId" + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" + "AWS::Logs::Destination" ], "type": "string" }, @@ -61637,7 +65307,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Instance": { + "AWS::Logs::LogGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61669,92 +65339,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tenancy": { + "KmsKeyId": { "type": "string" }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { + "LogGroupName": { "type": "string" }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" + "RetentionInDays": { + "type": "number" } }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Instance" + "AWS::Logs::LogGroup" ], "type": "string" }, @@ -61768,120 +65367,76 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "AWS::Logs::LogStream": { "additionalProperties": false, "properties": { - "DeviceName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "Metadata": { "type": "object" }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + }, + "LogStreamName": { "type": "string" } }, + "required": [ + "LogGroupName" + ], "type": "object" }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::OpsWorks::Layer": { + "AWS::Logs::MetricFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61913,96 +65468,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { - "type": "string" - }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { - "type": "string" - }, - "Packages": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shortname": { - "type": "string" - }, - "StackId": { + "FilterPattern": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { + "LogGroupName": { "type": "string" }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { + "MetricTransformations": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" }, "type": "array" } }, "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" + "FilterPattern", + "LogGroupName", + "MetricTransformations" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Layer" + "AWS::Logs::MetricFilter" ], "type": "string" }, @@ -62021,130 +65509,30 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { - "additionalProperties": false, - "properties": { - "Configure": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Setup": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Undeploy": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { + "AWS::Logs::MetricFilter.MetricTransformation": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { + "DefaultValue": { "type": "number" }, - "MountPoint": { + "MetricName": { "type": "string" }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" + "MetricNamespace": { + "type": "string" }, - "VolumeType": { + "MetricValue": { "type": "string" } }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], "type": "object" }, - "AWS::OpsWorks::Stack": { + "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62176,110 +65564,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { - "type": "string" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" - }, - "CloneAppIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClonePermissions": { - "type": "boolean" - }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" - }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" - }, - "CustomJson": { - "type": "object" - }, - "DefaultAvailabilityZone": { - "type": "string" - }, - "DefaultInstanceProfileArn": { - "type": "string" - }, - "DefaultOs": { - "type": "string" - }, - "DefaultRootDeviceType": { - "type": "string" - }, - "DefaultSshKeyName": { - "type": "string" - }, - "DefaultSubnetId": { - "type": "string" - }, - "EcsClusterArn": { - "type": "string" - }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" - }, - "HostnameTheme": { - "type": "string" - }, - "Name": { + "DestinationArn": { "type": "string" }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" - }, - "ServiceRoleArn": { + "FilterPattern": { "type": "string" }, - "SourceStackId": { + "LogGroupName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { + "RoleArn": { "type": "string" } }, "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" + "DestinationArn", + "FilterPattern", + "LogGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Stack" + "AWS::Logs::SubscriptionFilter" ], "type": "string" }, @@ -62298,90 +65605,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Stack.ChefConfiguration": { - "additionalProperties": false, - "properties": { - "BerkshelfVersion": { - "type": "string" - }, - "ManageBerkshelf": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.ElasticIp": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.RdsDbInstance": { - "additionalProperties": false, - "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "RdsDbInstanceArn": { - "type": "string" - } - }, - "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::UserProfile": { + "AWS::LookoutVision::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62413,27 +65637,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { - "type": "string" - }, - "SshPublicKey": { - "type": "string" - }, - "SshUsername": { + "ProjectName": { "type": "string" } }, "required": [ - "IamUserArn" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::UserProfile" + "AWS::LookoutVision::Project" ], "type": "string" }, @@ -62452,7 +65667,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Volume": { + "AWS::MSK::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62484,28 +65699,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Ec2VolumeId": { - "type": "string" + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" }, - "MountPoint": { + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { "type": "string" }, - "Name": { + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { "type": "string" }, - "StackId": { + "KafkaVersion": { "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" } }, "required": [ - "Ec2VolumeId", - "StackId" + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Volume" + "AWS::MSK::Cluster" ], "type": "string" }, @@ -62524,7 +65762,279 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::OpsWorksCM::Server": { + "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": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "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": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "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.Sasl": { + "additionalProperties": false, + "properties": { + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "required": [ + "Scram" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62556,92 +66066,69 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" + "AirflowConfigurationOptions": { + "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" }, - "BackupId": { + "AirflowVersion": { "type": "string" }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { + "DagS3Path": { "type": "string" }, - "CustomDomain": { + "EnvironmentClass": { "type": "string" }, - "CustomPrivateKey": { + "ExecutionRoleArn": { "type": "string" }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { + "KmsKey": { "type": "string" }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" }, - "EngineModel": { - "type": "string" + "MaxWorkers": { + "type": "number" }, - "EngineVersion": { + "Name": { "type": "string" }, - "InstanceProfileArn": { + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { "type": "string" }, - "InstanceType": { + "PluginsS3Path": { "type": "string" }, - "KeyPair": { + "RequirementsS3ObjectVersion": { "type": "string" }, - "PreferredBackupWindow": { + "RequirementsS3Path": { "type": "string" }, - "PreferredMaintenanceWindow": { + "SourceBucketArn": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" }, - "ServerName": { + "WebserverAccessMode": { "type": "string" }, - "ServiceRoleArn": { + "WeeklyMaintenanceWindowStart": { "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorksCM::Server" + "AWS::MWAA::Environment" ], "type": "string" }, @@ -62660,19 +66147,71 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::OpsWorksCM::Server.EngineAttribute": { + "AWS::MWAA::Environment.AirflowConfigurationOptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { - "Name": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { "type": "string" }, - "Value": { + "Enabled": { + "type": "boolean" + }, + "LogLevel": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::ADMChannel": { + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62704,29 +66243,40 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Description": { "type": "string" }, - "ClientId": { - "type": "string" + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" }, - "ClientSecret": { + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Regex": { + "type": "string" } }, "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" + "Name", + "Regex" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ADMChannel" + "AWS::Macie::CustomDataIdentifier" ], "type": "string" }, @@ -62745,7 +66295,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::APNSChannel": { + "AWS::Macie::FindingsFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62777,42 +66327,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { + "Action": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "Description": { "type": "string" }, - "TeamId": { - "type": "string" + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" }, - "TokenKey": { + "Name": { "type": "string" }, - "TokenKeyId": { - "type": "string" + "Position": { + "type": "number" } }, "required": [ - "ApplicationId" + "FindingCriteria", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSChannel" + "AWS::Macie::FindingsFilter" ], "type": "string" }, @@ -62831,7 +66370,33 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::APNSSandboxChannel": { + "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::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62863,42 +66428,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "FindingPublishingFrequency": { "type": "string" }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { + "Status": { "type": "string" } }, - "required": [ - "ApplicationId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" + "AWS::Macie::Session" ], "type": "string" }, @@ -62912,12 +66453,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Pinpoint::APNSVoipChannel": { + "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62949,42 +66489,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "InvitationId": { "type": "string" }, - "TeamId": { - "type": "string" + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" }, - "TokenKey": { - "type": "string" + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" }, - "TokenKeyId": { + "NetworkId": { "type": "string" } }, "required": [ - "ApplicationId" + "MemberConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipChannel" + "AWS::ManagedBlockchain::Member" ], "type": "string" }, @@ -63003,7 +66528,125 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63035,42 +66678,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { + "MemberId": { "type": "string" }, - "TokenKey": { + "NetworkId": { "type": "string" }, - "TokenKeyId": { - "type": "string" + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" } }, "required": [ - "ApplicationId" + "NetworkId", + "NodeConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" + "AWS::ManagedBlockchain::Node" ], "type": "string" }, @@ -63089,7 +66715,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::App": { + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63121,21 +66763,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AvailabilityZone": { + "type": "string" + }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" } }, "required": [ - "Name" + "Name", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::App" + "AWS::MediaConnect::Flow" ], "type": "string" }, @@ -63154,7 +66803,101 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings": { + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63186,30 +66929,42 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { "type": "string" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" }, - "CloudWatchMetricsEnabled": { - "type": "boolean" + "EntitlementStatus": { + "type": "string" }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + "FlowArn": { + "type": "string" }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "ApplicationId" + "Description", + "FlowArn", + "Name", + "Subscribers" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ApplicationSettings" + "AWS::MediaConnect::FlowEntitlement" ], "type": "string" }, @@ -63228,56 +66983,44 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "AWS::MediaConnect::FlowEntitlement.Encryption": { "additionalProperties": false, "properties": { - "LambdaFunctionName": { + "Algorithm": { "type": "string" }, - "Mode": { + "ConstantInitializationVector": { "type": "string" }, - "WebUrl": { + "DeviceId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" }, - "MaximumDuration": { - "type": "number" + "KeyType": { + "type": "string" }, - "MessagesPerSecond": { - "type": "number" + "Region": { + "type": "string" }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { + "ResourceId": { "type": "string" }, - "Start": { + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { "type": "string" } }, "required": [ - "End", - "Start" + "Algorithm", + "RoleArn" ], "type": "object" }, - "AWS::Pinpoint::BaiduChannel": { + "AWS::MediaConnect::FlowOutput": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63309,29 +67052,58 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "ApplicationId": { + "Destination": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" }, - "SecretKey": { + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" } }, "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" + "FlowArn", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::BaiduChannel" + "AWS::MediaConnect::FlowOutput" ], "type": "string" }, @@ -63350,7 +67122,39 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::Campaign": { + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63382,67 +67186,52 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" }, - "ApplicationId": { + "Description": { "type": "string" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + "EntitlementArn": { + "type": "string" }, - "Description": { + "FlowArn": { "type": "string" }, - "HoldoutPercent": { + "IngestPort": { "type": "number" }, - "IsPaused": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + "MaxBitrate": { + "type": "number" }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + "MaxLatency": { + "type": "number" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SegmentId": { + "Protocol": { "type": "string" }, - "SegmentVersion": { - "type": "number" - }, - "Tags": { - "type": "object" + "StreamId": { + "type": "string" }, - "TreatmentDescription": { + "VpcInterfaceName": { "type": "string" }, - "TreatmentName": { + "WhitelistCidr": { "type": "string" } }, "required": [ - "ApplicationId", - "MessageConfiguration", - "Name", - "Schedule", - "SegmentId" + "Description", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::Campaign" + "AWS::MediaConnect::FlowSource" ], "type": "string" }, @@ -63461,275 +67250,44 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::Campaign.AttributeDimension": { + "AWS::MediaConnect::FlowSource.Encryption": { "additionalProperties": false, "properties": { - "AttributeType": { + "Algorithm": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { - "type": "string" - }, - "HtmlBody": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" - }, - "FilterType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "MessageType": { - "type": "string" - }, - "SenderId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.EventDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" - }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { + "ConstantInitializationVector": { "type": "string" }, - "ImageSmallIconUrl": { + "DeviceId": { "type": "string" }, - "ImageUrl": { + "KeyType": { "type": "string" }, - "JsonBody": { + "Region": { "type": "string" }, - "MediaUrl": { + "ResourceId": { "type": "string" }, - "RawContent": { + "RoleArn": { "type": "string" }, - "SilentPush": { - "type": "boolean" - }, - "TimeToLive": { - "type": "number" - }, - "Title": { + "SecretArn": { "type": "string" }, "Url": { "type": "string" } }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { - "additionalProperties": false, - "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" - }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, "required": [ - "End", - "Start" + "Algorithm", + "RoleArn" ], "type": "object" }, - "AWS::Pinpoint::Campaign.Schedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" - }, - "IsLocalTime": { - "type": "boolean" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" - }, - "StartTime": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SizePercent": { - "type": "number" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::EmailChannel": { + "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63761,35 +67319,37 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "FlowArn": { "type": "string" }, - "ConfigurationSet": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { + "RoleArn": { "type": "string" }, - "Identity": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoleArn": { + "SubnetId": { "type": "string" } }, "required": [ - "ApplicationId", - "FromAddress", - "Identity" + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailChannel" + "AWS::MediaConnect::FlowVpcInterface" ], "type": "string" }, @@ -63808,7 +67368,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::EmailTemplate": { + "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63840,37 +67400,48 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DefaultSubstitutions": { - "type": "string" + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" }, - "HtmlPart": { + "Category": { "type": "string" }, - "Subject": { + "Description": { "type": "string" }, - "Tags": { - "type": "object" + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" }, - "TemplateDescription": { + "Name": { "type": "string" }, - "TemplateName": { + "Priority": { + "type": "number" + }, + "Queue": { "type": "string" }, - "TextPart": { + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ - "Subject", - "TemplateName" + "SettingsJson" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailTemplate" + "AWS::MediaConvert::JobTemplate" ], "type": "string" }, @@ -63889,7 +67460,34 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::EventStream": { + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "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": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63921,26 +67519,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Category": { "type": "string" }, - "DestinationStreamArn": { + "Description": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" + "SettingsJson" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EventStream" + "AWS::MediaConvert::Preset" ], "type": "string" }, @@ -63959,7 +67561,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::GCMChannel": { + "AWS::MediaConvert::Queue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63991,25 +67593,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "Description": { "type": "string" }, - "ApplicationId": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" } }, - "required": [ - "ApiKey", - "ApplicationId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::GCMChannel" + "AWS::MediaConvert::Queue" ], "type": "string" }, @@ -64023,12 +67627,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate": { + "AWS::MediaLive::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -64060,42 +67663,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + "ChannelClass": { + "type": "string" }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" }, - "DefaultSubstitutions": { - "type": "string" + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" }, - "Tags": { - "type": "object" + "LogLevel": { + "type": "string" }, - "TemplateDescription": { + "Name": { "type": "string" }, - "TemplateName": { + "RoleArn": { "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" } }, - "required": [ - "TemplateName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::PushTemplate" + "AWS::MediaLive::Channel" ], "type": "string" }, @@ -64109,1309 +67721,14832 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "AWS::MediaLive::Channel.AacSettings": { "additionalProperties": false, "properties": { - "Action": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { "type": "string" }, - "Body": { + "InputType": { "type": "string" }, - "MediaUrl": { + "Profile": { "type": "string" }, - "Sound": { + "RateControlMode": { "type": "string" }, - "Title": { + "RawFormat": { "type": "string" }, - "Url": { + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "AWS::MediaLive::Channel.Ac3Settings": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" + "Bitrate": { + "type": "number" }, - "ImageIconUrl": { + "BitstreamMode": { "type": "string" }, - "ImageUrl": { + "CodingMode": { "type": "string" }, - "SmallImageIconUrl": { - "type": "string" + "Dialnorm": { + "type": "number" }, - "Sound": { + "DrcProfile": { "type": "string" }, - "Title": { + "LfeFilter": { "type": "string" }, - "Url": { + "MetadataControl": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "AWS::MediaLive::Channel.AncillarySourceSettings": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" }, - "Body": { - "type": "string" + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" }, - "Sound": { - "type": "string" + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" }, - "Title": { + "Extension": { "type": "string" }, - "Url": { + "NameModifier": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::SMSChannel": { + "AWS::MediaLive::Channel.AribDestinationSettings": { "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" }, - "Metadata": { - "type": "object" + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Pinpoint::Segment": { + "AWS::MediaLive::Channel.AudioDescription": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AudioType": { + "type": "string" }, - "Metadata": { - "type": "object" + "AudioTypeControl": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], + "LanguageCode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Pinpoint::Segment.AttributeDimension": { + "AWS::MediaLive::Channel.AudioLanguageSelection": { "additionalProperties": false, "properties": { - "AttributeType": { + "LanguageCode": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "LanguageSelectionPolicy": { + "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Behavior": { + "AWS::MediaLive::Channel.AudioNormalizationSettings": { "additionalProperties": false, "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Coordinates": { + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { "additionalProperties": false, "properties": { - "Latitude": { - "type": "number" + "AudioGroupId": { + "type": "string" }, - "Longitude": { + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { "type": "number" } }, - "required": [ - "Latitude", - "Longitude" - ], "type": "object" }, - "AWS::Pinpoint::Segment.Demographic": { + "AWS::MediaLive::Channel.AudioSelector": { "additionalProperties": false, "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "Name": { + "type": "string" }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" } }, "type": "object" }, - "AWS::Pinpoint::Segment.GPSPoint": { + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { "additionalProperties": false, "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + "AudioSelectorName": { + "type": "string" }, - "RangeInKilometers": { + "AudioSilenceThresholdMsec": { "type": "number" } }, - "required": [ - "Coordinates", - "RangeInKilometers" - ], "type": "object" }, - "AWS::Pinpoint::Segment.Groups": { + "AWS::MediaLive::Channel.AudioTrack": { "additionalProperties": false, "properties": { - "Dimensions": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" }, - "SourceSegments": { + "FailoverConditions": { "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" }, "type": "array" }, - "SourceType": { + "InputPreference": { "type": "string" }, - "Type": { + "SecondaryInputId": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Location": { + "AWS::MediaLive::Channel.AvailBlanking": { "additionalProperties": false, "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + "State": { + "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Recency": { + "AWS::MediaLive::Channel.AvailConfiguration": { "additionalProperties": false, "properties": { - "Duration": { - "type": "string" - }, - "RecencyType": { - "type": "string" + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" } }, - "required": [ - "Duration", - "RecencyType" - ], "type": "object" }, - "AWS::Pinpoint::Segment.SegmentDimensions": { + "AWS::MediaLive::Channel.AvailSettings": { "additionalProperties": false, "properties": { - "Attributes": { - "type": "object" - }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" - }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" - }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" - }, - "Metrics": { - "type": "object" + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" }, - "UserAttributes": { - "type": "object" + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" } }, "type": "object" }, - "AWS::Pinpoint::Segment.SegmentGroups": { + "AWS::MediaLive::Channel.BlackoutSlate": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, - "Include": { + "NetworkEndBlackout": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "State": { + "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.SourceSegments": { + "AWS::MediaLive::Channel.BurnInDestinationSettings": { "additionalProperties": false, "properties": { - "Id": { + "Alignment": { "type": "string" }, - "Version": { + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { "type": "number" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::Pinpoint::SmsTemplate": { + "AWS::MediaLive::Channel.CaptionDescription": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CaptionSelectorName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" + "LanguageCode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], + "LanguageDescription": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Pinpoint::VoiceChannel": { + "AWS::MediaLive::Channel.CaptionDestinationSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" }, - "Metadata": { - "type": "object" + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LanguageDescription": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet": { + "AWS::MediaLive::Channel.CaptionSelector": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LanguageCode": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { - "type": "object" + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } - }, - "required": [ - "Name" - ], - "type": "object" + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], - "type": "string" + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "AWS::MediaLive::Channel.CdiInputSpecification": { "additionalProperties": false, "properties": { - "SendingPoolName": { + "Resolution": { "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { "additionalProperties": false, "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "AWS::MediaLive::Channel.DvbSdtSettings": { "additionalProperties": false, "properties": { - "SendingEnabled": { - "type": "boolean" + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { "additionalProperties": false, "properties": { - "Key": { + "Alignment": { "type": "string" }, - "Value": { + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "AWS::MediaLive::Channel.DvbSubSourceSettings": { "additionalProperties": false, "properties": { - "CustomRedirectDomain": { - "type": "string" + "Pid": { + "type": "number" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "AWS::MediaLive::Channel.DvbTdtSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Bitrate": { + "type": "number" }, - "Metadata": { - "type": "object" + "BitstreamMode": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" + "CodingMode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], + "DcFilter": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { + "Convert608To708": { "type": "string" }, - "DimensionName": { + "Scte20Detection": { "type": "string" }, - "DimensionValueSource": { - "type": "string" + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" } }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "AWS::MediaLive::Channel.EncoderSettings": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" }, - "Enabled": { - "type": "boolean" + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" }, - "MatchingEventTypes": { + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" }, "type": "array" }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" } }, - "required": [ - "MatchingEventTypes" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::MediaLive::Channel.FailoverCondition": { "additionalProperties": false, "properties": { - "DeliveryStreamArn": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" } }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "AWS::MediaLive::Channel.FailoverConditionSettings": { "additionalProperties": false, "properties": { - "ApplicationArn": { - "type": "string" + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "AWS::MediaLive::Channel.FeatureActivations": { "additionalProperties": false, "properties": { - "TopicArn": { + "InputPrepareScheduleActions": { "type": "string" } }, - "required": [ - "TopicArn" - ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool": { + "AWS::MediaLive::Channel.FecOutputSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" - } - }, - "type": "object" + "ColumnDepth": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" - ], + "IncludeFec": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "RowLength": { + "type": "number" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "AWS::MediaLive::Channel.Fmp4HlsSettings": { "additionalProperties": false, "properties": { - "Key": { + "AudioRenditionSets": { "type": "string" }, - "Value": { + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::Identity": { + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::Identity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { "additionalProperties": false, "properties": { - "BehaviorOnMxFailure": { - "type": "string" - }, - "MailFromDomain": { + "NameModifier": { "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::Identity.Tags": { + "AWS::MediaLive::Channel.FrameCaptureSettings": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "CaptureInterval": { + "type": "number" }, - "Value": { + "CaptureIntervalUnits": { "type": "string" } }, "type": "object" }, - "AWS::QLDB::Ledger": { + "AWS::MediaLive::Channel.GlobalConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "InitialAudioGain": { + "type": "number" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "InputEndAction": { + "type": "string" }, - "Metadata": { - "type": "object" + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PermissionsMode" - ], - "type": "object" + "OutputLockingMode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], + "OutputTimingSource": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SupportLowFramerateInputs": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::QLDB::Stream": { + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], - "type": "string" + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::QLDB::Stream.KinesisConfiguration": { + "AWS::MediaLive::Channel.H264FilterSettings": { "additionalProperties": false, "properties": { - "AggregationEnabled": { - "type": "boolean" - }, - "StreamArn": { - "type": "string" + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" } }, "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::MediaLive::Channel.H264Settings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AdaptiveQuantization": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AfdSignaling": { + "type": "string" }, - "Metadata": { - "type": "object" + "Bitrate": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" + "BufFillPct": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], + "BufSize": { + "type": "number" + }, + "ColorMetadata": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "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::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "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.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "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::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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" + }, + { + "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" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::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" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "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::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "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" + }, + { + "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" + } + }, + "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" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::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": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::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" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::BaiduChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "FromAddress": { + "type": "string" + }, + "HtmlBody": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + }, + "FilterType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "EntityId": { + "type": "string" + }, + "MessageType": { + "type": "string" + }, + "OriginationNumber": { + "type": "string" + }, + "SenderId": { + "type": "string" + }, + "TemplateId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + }, + "Metrics": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageSmallIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "JsonBody": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "RawContent": { + "type": "string" + }, + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { + "type": "number" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MessageConfiguration": { + "additionalProperties": false, + "properties": { + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MetricDimension": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" + }, + "Frequency": { + "type": "string" + }, + "IsLocalTime": { + "type": "boolean" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + }, + "StartTime": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { + "additionalProperties": false, + "properties": { + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::EmailChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EmailTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EventStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::GCMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Behavior": { + "additionalProperties": false, + "properties": { + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "type": "number" + }, + "Longitude": { + "type": "number" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Demographic": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.GPSPoint": { + "additionalProperties": false, + "properties": { + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + }, + "RangeInKilometers": { + "type": "number" + } + }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Groups": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" + }, + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Location": { + "additionalProperties": false, + "properties": { + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Recency": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "RecencyType": { + "type": "string" + } + }, + "required": [ + "Duration", + "RecencyType" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentGroups": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SourceSegments": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::Pinpoint::SmsTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::VoiceChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "additionalProperties": false, + "properties": { + "SendingPoolName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" + }, + "EventDestinationName": { + "type": "string" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::DedicatedIpPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DkimSigningEnabled": { + "type": "boolean" + }, + "FeedbackForwardingEnabled": { + "type": "boolean" + }, + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::Identity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::Identity.MailFromAttributes": { + "additionalProperties": false, + "properties": { + "BehaviorOnMxFailure": { + "type": "string" + }, + "MailFromDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PermissionsMode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PermissionsMode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Ledger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalysisId": { + "type": "string" + }, + "AwsAccountId": { + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + } + }, + "required": [ + "AnalysisId", + "AwsAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Analysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisError": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Sheet": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SheetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DashboardId": { + "type": "string" + }, + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "DashboardId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { + "additionalProperties": false, + "properties": { + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" + }, + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" + }, + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.ExportToCSVOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetControlsOption": { + "additionalProperties": false, + "properties": { + "VisibilityState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "TemplateId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Template.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "BaseThemeId": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "ThemeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Theme" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.BorderStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmptyFillColor": { + "type": "string" + }, + "MinMaxGradient": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.SheetStyle": { + "additionalProperties": false, + "properties": { + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.UIColorPalette": { + "additionalProperties": false, + "properties": { + "Accent": { + "type": "string" + }, + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BacktrackWindow": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSourceIdentifier": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "string" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "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" + }, + { + "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" + }, + "TargetGroupName": { + "type": "string" + } + }, + "required": [ + "DBProxyName", + "TargetGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" + }, + "EC2VpcId": { + "type": "string" + }, + "GroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSecurityGroupIngress", + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "DBSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::GlobalCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EngineName": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "OptionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" + }, + "type": "array" + }, + "OptionGroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::OptionGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionConfiguration": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OptionName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "type": "array" + }, + "OptionVersion": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OptionName" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionSetting": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::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": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "ClusterParameterGroupName": { + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RoboMaker::Robot": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Fleet": { + "type": "string" + }, + "GreengrassGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::DNSSEC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckConfig": { + "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" + } + }, + "required": [ + "HealthCheckConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HealthCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + }, + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HostedZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.QueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "type": "string" + }, + "VPCRegion": { + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "type": "object" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResolverEndpointId": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RuleType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { + "type": "string" + } + }, + "required": [ + "ResolverRuleId", + "VPCId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRuleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", "Snapshot" ], "type": "string" @@ -65437,101 +82572,68 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" }, - "AvailabilityZones": { + "AccessControl": { + "type": "string" + }, + "AnalyticsConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" }, "type": "array" }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" }, - "DatabaseName": { + "BucketName": { "type": "string" }, - "DeletionProtection": { - "type": "boolean" + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" }, - "EnableCloudwatchLogsExports": { + "IntelligentTieringConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" }, "type": "array" }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" }, - "PreferredBackupWindow": { - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" }, - "PreferredMaintenanceWindow": { - "type": "string" + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" }, - "ReplicationSourceIdentifier": { - "type": "string" + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" }, - "RestoreType": { - "type": "string" + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" }, - "SnapshotIdentifier": { - "type": "string" + "ObjectLockEnabled": { + "type": "boolean" }, - "SourceDBClusterIdentifier": { - "type": "string" + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" }, - "SourceRegion": { - "type": "string" + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" }, - "StorageEncrypted": { - "type": "boolean" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" }, "Tags": { "items": { @@ -65539,985 +82641,989 @@ var CloudformationSchema = `{ }, "type": "array" }, - "UseLatestRestorableTime": { - "type": "boolean" + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, - "required": [ - "Engine" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MaxAge": { + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "OutputSchemaVersion": { + "type": "string" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::Bucket.DefaultRetention": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Status", + "Tierings" + ], + "type": "object" + }, + "AWS::S3::Bucket.InventoryConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3::Bucket.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" + }, + "LogFilePrefix": { "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::RDS::DBCluster.DBClusterRole": { + "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { - "FeatureName": { + "Id": { "type": "string" }, - "RoleArn": { + "Prefix": { "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" } }, "required": [ - "RoleArn" + "Id" ], "type": "object" }, - "AWS::RDS::DBCluster.ScalingConfiguration": { + "AWS::S3::Bucket.NoncurrentVersionTransition": { "additionalProperties": false, "properties": { - "AutoPause": { - "type": "boolean" + "StorageClass": { + "type": "string" }, - "MaxCapacity": { + "TransitionInDays": { "type": "number" + } + }, + "required": [ + "StorageClass", + "TransitionInDays" + ], + "type": "object" + }, + "AWS::S3::Bucket.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" }, - "MinCapacity": { - "type": "number" + "QueueConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" }, - "SecondsUntilAutoPause": { - "type": "number" + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::RDS::DBClusterParameterGroup": { + "AWS::S3::Bucket.NotificationFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockConfiguration": { + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControlsRule": { + "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "BlockPublicPolicy": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" + "IgnorePublicAcls": { + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Queue": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Event", + "Queue" ], "type": "object" }, - "AWS::RDS::DBInstance": { + "AWS::S3::Bucket.RedirectAllRequestsTo": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HostName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Protocol": { + "type": "string" + } + }, + "required": [ + "HostName" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectRule": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" }, - "Metadata": { - "type": "object" + "HttpRedirectCode": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "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" - } + "Protocol": { + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" }, - "required": [ - "DBInstanceClass" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Role", + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], + "Account": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Bucket": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Bucket" ], "type": "object" }, - "AWS::RDS::DBInstance.DBInstanceRole": { + "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { - "FeatureName": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, + "Id": { "type": "string" }, - "RoleArn": { + "Prefix": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" + }, + "Status": { "type": "string" } }, "required": [ - "FeatureName", - "RoleArn" + "Destination", + "Status" ], "type": "object" }, - "AWS::RDS::DBInstance.ProcessorFeature": { + "AWS::S3::Bucket.ReplicationRuleAndOperator": { "additionalProperties": false, "properties": { - "Name": { + "Prefix": { "type": "string" }, - "Value": { - "type": "string" + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" } }, "type": "object" }, - "AWS::RDS::DBParameterGroup": { + "AWS::S3::Bucket.ReplicationRuleFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], + "Prefix": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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": [ - "Type", - "Properties" + "Status", + "Time" ], "type": "object" }, - "AWS::RDS::DBProxy": { + "AWS::S3::Bucket.ReplicationTimeValue": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" + "Minutes": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "Minutes" ], "type": "object" }, - "AWS::RDS::DBProxy.AuthFormat": { + "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" }, - "UserName": { - "type": "string" + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" } }, + "required": [ + "RedirectRule" + ], "type": "object" }, - "AWS::RDS::DBProxy.TagFormat": { + "AWS::S3::Bucket.RoutingRuleCondition": { "additionalProperties": false, "properties": { - "Key": { + "HttpErrorCodeReturnedEquals": { "type": "string" }, - "Value": { + "KeyPrefixEquals": { "type": "string" } }, "type": "object" }, - "AWS::RDS::DBProxyTargetGroup": { + "AWS::S3::Bucket.Rule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExpirationInDays": { + "type": "number" }, - "Metadata": { - "type": "object" + "Id": { + "type": "string" }, - "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" - }, - "TargetGroupName": { - "type": "string" - } + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], + "Prefix": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "AWS::S3::Bucket.S3KeyFilter": { "additionalProperties": false, "properties": { - "ConnectionBorrowTimeout": { - "type": "number" - }, - "InitQuery": { - "type": "string" - }, - "MaxConnectionsPercent": { - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "type": "number" - }, - "SessionPinningFilters": { + "Rules": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" }, "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::RDS::DBSecurityGroup": { + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KMSMasterKeyID": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "SSEAlgorithm": { + "type": "string" + } + }, + "required": [ + "SSEAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionRule": { + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SourceSelectionCriteria": { + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.StorageClassAnalysis": { + "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.Tiering": { + "additionalProperties": false, + "properties": { + "AccessTier": { "type": "string" + }, + "Days": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "AccessTier", + "Days" ], "type": "object" }, - "AWS::RDS::DBSecurityGroup.Ingress": { + "AWS::S3::Bucket.TopicConfiguration": { "additionalProperties": false, "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { + "Event": { "type": "string" }, - "EC2SecurityGroupName": { - "type": "string" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" }, - "EC2SecurityGroupOwnerId": { + "Topic": { "type": "string" } }, + "required": [ + "Event", + "Topic" + ], "type": "object" }, - "AWS::RDS::DBSecurityGroupIngress": { + "AWS::S3::Bucket.Transition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StorageClass": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], + "TransitionDate": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass" + ], + "type": "object" + }, + "AWS::S3::Bucket.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::RDS::DBSubnetGroup": { + "AWS::S3::Bucket.WebsiteConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ErrorDocument": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IndexDocument": { + "type": "string" }, - "Metadata": { - "type": "object" + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RDS::EventSubscription": { + "AWS::S3::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66549,36 +83655,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { + "Bucket": { "type": "string" }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" + "PolicyDocument": { + "type": "object" } }, "required": [ - "SnsTopicArn" + "Bucket", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::EventSubscription" + "AWS::S3::BucketPolicy" ], "type": "string" }, @@ -66597,7 +83689,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RDS::OptionGroup": { + "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66629,20 +83721,8 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" }, "Tags": { "items": { @@ -66652,16 +83732,13 @@ var CloudformationSchema = `{ } }, "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" + "StorageLensConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::OptionGroup" + "AWS::S3::StorageLens" ], "type": "string" }, @@ -66680,465 +83757,194 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RDS::OptionGroup.OptionConfiguration": { + "AWS::S3::StorageLens.AccountLevel": { "additionalProperties": false, "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" } }, "required": [ - "OptionName" + "BucketLevel" ], "type": "object" }, - "AWS::RDS::OptionGroup.OptionSetting": { + "AWS::S3::StorageLens.ActivityMetrics": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "IsEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::Redshift::Cluster": { + "AWS::S3::StorageLens.AwsOrg": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "type": "boolean" - }, - "AutomatedSnapshotRetentionPeriod": { - "type": "number" - }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "OwnerAccount": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Arn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Arn" ], "type": "object" }, - "AWS::Redshift::Cluster.LoggingProperties": { + "AWS::S3::StorageLens.BucketLevel": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "S3KeyPrefix": { - "type": "string" + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" } }, - "required": [ - "BucketName" - ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup": { + "AWS::S3::StorageLens.BucketsAndRegions": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ParameterGroupFamily": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Buckets": { + "items": { + "type": "string" }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" + } + }, + "required": [ + "S3BucketDestination" + ], + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { + "additionalProperties": false, + "properties": { + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" } }, "required": [ - "Type", - "Properties" + "StorageMetrics" ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { "additionalProperties": false, "properties": { - "ParameterName": { - "type": "string" + "IsEnabled": { + "type": "boolean" }, - "ParameterValue": { - "type": "string" + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" } }, - "required": [ - "ParameterName", - "ParameterValue" - ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroup": { + "AWS::S3::StorageLens.S3BucketDestination": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AccountId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Arn": { + "type": "string" }, - "Metadata": { - "type": "object" + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" + "Format": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], + "OutputSchemaVersion": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Prefix": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroupIngress": { + "AWS::S3::StorageLens.SelectionCriteria": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Delimiter": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MaxDepth": { + "type": "number" }, - "Metadata": { - "type": "object" + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { + "type": "boolean" + }, + "StorageLensArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AccountLevel", + "Id", + "IsEnabled" ], "type": "object" }, - "AWS::Redshift::ClusterSubnetGroup": { + "AWS::S3Outposts::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67170,31 +83976,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Bucket": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Policy": { + "type": "object" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" } }, "required": [ - "Description", - "SubnetIds" + "Bucket", + "Name", + "VpcConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSubnetGroup" + "AWS::S3Outposts::AccessPoint" ], "type": "string" }, @@ -67213,7 +84017,16 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ResourceGroups::Group": { + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67245,14 +84058,14 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "BucketName": { "type": "string" }, - "Name": { - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + "OutpostId": { + "type": "string" }, "Tags": { "items": { @@ -67262,13 +84075,14 @@ var CloudformationSchema = `{ } }, "required": [ - "Name" + "BucketName", + "OutpostId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceGroups::Group" + "AWS::S3Outposts::Bucket" ], "type": "string" }, @@ -67287,55 +84101,58 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ResourceGroups::Group.Query": { + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackIdentifier": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" + "DaysAfterInitiation": { + "type": "number" } }, + "required": [ + "DaysAfterInitiation" + ], "type": "object" }, - "AWS::ResourceGroups::Group.ResourceQuery": { + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { "additionalProperties": false, "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" - }, - "Type": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::ResourceGroups::Group.TagFilter": { + "AWS::S3Outposts::Bucket.Rule": { "additionalProperties": false, "properties": { - "Key": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "ExpirationInDays": { + "type": "number" + }, + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::RoboMaker::Fleet": { + "AWS::S3Outposts::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67367,18 +84184,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "Bucket": { "type": "string" }, - "Tags": { + "PolicyDocument": { "type": "object" } }, + "required": [ + "Bucket", + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Fleet" + "AWS::S3Outposts::BucketPolicy" ], "type": "string" }, @@ -67392,11 +84213,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RoboMaker::Robot": { + "AWS::S3Outposts::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67428,31 +84250,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" - }, - "Fleet": { + "OutpostId": { "type": "string" }, - "GreengrassGroupId": { + "SecurityGroupId": { "type": "string" }, - "Name": { + "SubnetId": { "type": "string" - }, - "Tags": { - "type": "object" } }, "required": [ - "Architecture", - "GreengrassGroupId" + "OutpostId", + "SecurityGroupId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Robot" + "AWS::S3Outposts::Endpoint" ], "type": "string" }, @@ -67471,7 +84288,19 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RoboMaker::RobotApplication": { + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::SDB::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67503,34 +84332,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { + "Description": { "type": "string" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" } }, - "required": [ - "RobotSoftwareSuite", - "Sources" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::SDB::Domain" ], "type": "string" }, @@ -67544,48 +84354,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" + "Type" ], "type": "object" }, - "AWS::RoboMaker::RobotApplicationVersion": { + "AWS::SES::ConfigurationSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67617,21 +84390,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { + "Name": { "type": "string" } }, - "required": [ - "Application" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::SES::ConfigurationSet" ], "type": "string" }, @@ -67645,12 +84412,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication": { + "AWS::SES::ConfigurationSetEventDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67682,42 +84448,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { + "ConfigurationSetName": { "type": "string" }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" } }, "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" + "ConfigurationSetName", + "EventDestination" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::SES::ConfigurationSetEventDestination" ], "type": "string" }, @@ -67736,140 +84482,82 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" } }, - "required": [ - "Name", - "Version" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { "additionalProperties": false, "properties": { - "Name": { + "DefaultDimensionValue": { "type": "string" }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { + "DimensionName": { "type": "string" }, - "Version": { + "DimensionValueSource": { "type": "string" } }, "required": [ - "Name", - "Version" + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" }, - "S3Bucket": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "S3Key": { + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" } }, "required": [ - "Architecture", - "S3Bucket", - "S3Key" + "MatchingEventTypes" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplicationVersion": { + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" - ], + "properties": { + "DeliveryStreamARN": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IAMRoleARN": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DeliveryStreamARN", + "IAMRoleARN" ], "type": "object" }, - "AWS::Route53::HealthCheck": { + "AWS::SES::ReceiptFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67901,24 +84589,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckConfig": { - "type": "object" - }, - "HealthCheckTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" - }, - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" } }, "required": [ - "HealthCheckConfig" + "Filter" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HealthCheck" + "AWS::SES::ReceiptFilter" ], "type": "string" }, @@ -67937,23 +84619,38 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53::HealthCheck.HealthCheckTag": { + "AWS::SES::ReceiptFilter.Filter": { "additionalProperties": false, "properties": { - "Key": { + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "IpFilter" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { "type": "string" }, - "Value": { + "Policy": { "type": "string" } }, "required": [ - "Key", - "Value" + "Cidr", + "Policy" ], "type": "object" }, - "AWS::Route53::HostedZone": { + "AWS::SES::ReceiptRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67985,36 +84682,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { + "After": { "type": "string" }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" }, - "VPCs": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" - }, - "type": "array" + "RuleSetName": { + "type": "string" } }, "required": [ - "Name" + "Rule", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HostedZone" + "AWS::SES::ReceiptRule" ], "type": "string" }, @@ -68033,60 +84719,187 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneConfig": { + "AWS::SES::ReceiptRule.Action": { "additionalProperties": false, "properties": { - "Comment": { + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" + }, + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { "type": "string" } }, + "required": [ + "HeaderName", + "HeaderValue" + ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneTag": { + "AWS::SES::ReceiptRule.BounceAction": { "additionalProperties": false, "properties": { - "Key": { + "Message": { "type": "string" }, - "Value": { + "Sender": { + "type": "string" + }, + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { "type": "string" } }, "required": [ - "Key", - "Value" + "Message", + "Sender", + "SmtpReplyCode" ], "type": "object" }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { + "AWS::SES::ReceiptRule.LambdaAction": { "additionalProperties": false, "properties": { - "CloudWatchLogsLogGroupArn": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { "type": "string" } }, "required": [ - "CloudWatchLogsLogGroupArn" + "FunctionArn" ], "type": "object" }, - "AWS::Route53::HostedZone.VPC": { + "AWS::SES::ReceiptRule.Rule": { "additionalProperties": false, "properties": { - "VPCId": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "VPCRegion": { + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { "type": "string" } }, "required": [ - "VPCId", - "VPCRegion" + "BucketName" ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68118,64 +84931,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "RuleSetName": { "type": "string" - }, - "Weight": { - "type": "number" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::SES::ReceiptRuleSet" ], "type": "string" }, @@ -68189,46 +84953,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" + "Type" ], "type": "object" }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { + "AWS::SES::Template": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68260,27 +84989,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::SES::Template" ], "type": "string" }, @@ -68298,99 +85015,25 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::SES::Template.Template": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { + "HtmlPart": { "type": "string" }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { + "SubjectPart": { "type": "string" }, - "TTL": { + "TemplateName": { "type": "string" }, - "Type": { + "TextPart": { "type": "string" - }, - "Weight": { - "type": "number" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::SNS::Subscription": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68422,41 +85065,43 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" + "FilterPolicy": { + "type": "object" }, - "Name": { + "Protocol": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "RawMessageDelivery": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "Protocol", + "TopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::SNS::Subscription" ], "type": "string" }, @@ -68475,22 +85120,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::SNS::Topic": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68522,10 +85152,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DisplayName": { "type": "string" }, - "Name": { + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicName": { "type": "string" } }, @@ -68533,7 +85184,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::SNS::Topic" ], "type": "string" }, @@ -68551,7 +85202,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68583,18 +85250,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "ResourceId": { - "type": "string" + "Topics": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "PolicyDocument", + "Topics" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::SNS::TopicPolicy" ], "type": "string" }, @@ -68608,11 +85282,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::SQS::Queue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68644,40 +85319,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" + "ContentBasedDeduplication": { + "type": "boolean" }, - "Name": { - "type": "string" + "DelaySeconds": { + "type": "number" }, - "ResolverEndpointId": { + "FifoQueue": { + "type": "boolean" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "number" + }, + "KmsMasterKeyId": { "type": "string" }, - "RuleType": { + "MaximumMessageSize": { + "type": "number" + }, + "MessageRetentionPeriod": { + "type": "number" + }, + "QueueName": { "type": "string" }, + "ReceiveMessageWaitTimeSeconds": { + "type": "number" + }, + "RedrivePolicy": { + "type": "object" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" + "VisibilityTimeout": { + "type": "number" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::SQS::Queue" ], "type": "string" }, @@ -68691,27 +85377,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "required": [ - "Ip" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68743,25 +85413,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "ResolverRuleId": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "VPCId": { - "type": "string" + "Queues": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "ResolverRuleId", - "VPCId" + "PolicyDocument", + "Queues" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::SQS::QueuePolicy" ], "type": "string" }, @@ -68780,7 +85450,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::S3::AccessPoint": { + "AWS::SSM::Association": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68812,39 +85482,69 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { "type": "string" }, - "CreationDate": { + "AutomationTargetParameterName": { "type": "string" }, - "Name": { + "ComplianceSeverity": { "type": "string" }, - "NetworkOrigin": { + "DocumentVersion": { "type": "string" }, - "Policy": { - "type": "object" + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" }, - "PolicyStatus": { + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, "type": "object" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + "ScheduleExpression": { + "type": "string" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + "SyncCompliance": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ - "Bucket" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessPoint" + "AWS::SSM::Association" ], "type": "string" }, @@ -68863,34 +85563,62 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::SSM::Association.InstanceAssociationOutputLocation": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.ParameterValues": { + "additionalProperties": false, + "properties": { + "ParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { + "type": "string" }, - "IgnorePublicAcls": { - "type": "boolean" + "OutputS3KeyPrefix": { + "type": "string" }, - "RestrictPublicBuckets": { - "type": "boolean" + "OutputS3Region": { + "type": "string" } }, "type": "object" }, - "AWS::S3::AccessPoint.VpcConfiguration": { + "AWS::SSM::Association.Target": { "additionalProperties": false, "properties": { - "VpcId": { + "Key": { "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Key", + "Values" + ], "type": "object" }, - "AWS::S3::Bucket": { + "AWS::SSM::Document": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68922,78 +85650,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + "Content": { + "type": "object" }, - "AccessControl": { + "DocumentType": { "type": "string" }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { + "Name": { "type": "string" }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "type": "boolean" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, + "required": [ + "Content" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::Bucket" + "AWS::SSM::Document" ], "type": "string" }, @@ -69007,874 +85687,1091 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.AnalyticsConfiguration": { + "AWS::SSM::MaintenanceWindow": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Prefix": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "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" }, - "ExposedHeaders": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Duration": { + "type": "number" + }, + "EndDate": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "MaxAge": { - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" }, - "OutputSchemaVersion": { + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Destination", - "OutputSchemaVersion" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.DefaultRetention": { + "AWS::SSM::MaintenanceWindowTarget": { "additionalProperties": false, "properties": { - "Days": { - "type": "number" - }, - "Mode": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BucketArn": { - "type": "string" + "Metadata": { + "type": "object" }, - "Format": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "type": "array" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ReplicaKmsKeyID" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.FilterRule": { + "AWS::SSM::MaintenanceWindowTarget.Targets": { "additionalProperties": false, "properties": { - "Name": { + "Key": { "type": "string" }, - "Value": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name", - "Value" + "Key" ], "type": "object" }, - "AWS::S3::Bucket.InventoryConfiguration": { + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IncludedObjectVersions": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OptionalFields": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + }, + "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" + } }, - "type": "array" + "required": [ + "Priority", + "TaskArn", + "TaskType", + "WindowId" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTask" + ], "type": "string" }, - "ScheduleFrequency": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.LambdaConfiguration": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "Event": { + "Region": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "S3Bucket": { + "type": "string" }, - "Function": { + "S3Prefix": { "type": "string" } }, "required": [ - "Event", - "Function" + "Region", + "S3Bucket" ], "type": "object" }, - "AWS::S3::Bucket.LifecycleConfiguration": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { "additionalProperties": false, "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" } }, - "required": [ - "Rules" - ], "type": "object" }, - "AWS::S3::Bucket.LoggingConfiguration": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { "additionalProperties": false, "properties": { - "DestinationBucketName": { + "ClientContext": { "type": "string" }, - "LogFilePrefix": { + "Payload": { "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Metrics": { - "additionalProperties": false, - "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" }, - "Status": { + "Qualifier": { "type": "string" } }, - "required": [ - "Status" - ], "type": "object" }, - "AWS::S3::Bucket.MetricsConfiguration": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { - "Id": { + "Comment": { "type": "string" }, - "Prefix": { + "DocumentHash": { "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { "additionalProperties": false, "properties": { - "StorageClass": { + "Input": { "type": "string" }, - "TransitionInDays": { - "type": "number" + "Name": { + "type": "string" } }, - "required": [ - "StorageClass", - "TransitionInDays" - ], "type": "object" }, - "AWS::S3::Bucket.NotificationConfiguration": { + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { "additionalProperties": false, "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" + "NotificationArn": { + "type": "string" }, - "QueueConfigurations": { + "NotificationEvents": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + "type": "string" }, "type": "array" }, - "TopicConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + "NotificationType": { + "type": "string" } }, "required": [ - "S3Key" + "NotificationArn" ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockConfiguration": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { - "ObjectLockEnabled": { + "Key": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockRule": { - "additionalProperties": false, - "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" }, - "Queue": { - "type": "string" + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" } }, - "required": [ - "Event", - "Queue" - ], "type": "object" }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { - "HostName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "HostName" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectRule": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HttpRedirectCode": { - "type": "string" + "Metadata": { + "type": "object" }, - "Protocol": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policies": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" }, - "ReplaceKeyPrefixWith": { + "Type": { + "enum": [ + "AWS::SSM::Parameter" + ], "type": "string" }, - "ReplaceKeyWith": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Role": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" } }, "required": [ - "Role", - "Rules" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationDestination": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Bucket": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + "Metadata": { + "type": "object" }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], + "type": "string" }, - "StorageClass": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Bucket" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRule": { + "AWS::SSM::PatchBaseline.PatchFilter": { "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": { + "Key": { "type": "string" }, - "Priority": { - "type": "number" - }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" - }, - "Status": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Destination", - "Status" - ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "AWS::SSM::PatchBaseline.PatchFilterGroup": { "additionalProperties": false, "properties": { - "Prefix": { - "type": "string" - }, - "TagFilters": { + "PatchFilters": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" }, "type": "array" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleFilter": { + "AWS::SSM::PatchBaseline.PatchSource": { "additionalProperties": false, "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" - }, - "Prefix": { + "Configuration": { "type": "string" }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTime": { - "additionalProperties": false, - "properties": { - "Status": { + "Name": { "type": "string" }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + "Products": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Status", - "Time" - ], "type": "object" }, - "AWS::S3::Bucket.ReplicationTimeValue": { + "AWS::SSM::PatchBaseline.PatchStringDate": { "additionalProperties": false, - "properties": { - "Minutes": { - "type": "number" - } - }, - "required": [ - "Minutes" - ], + "properties": {}, "type": "object" }, - "AWS::S3::Bucket.RoutingRule": { + "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + "ApproveAfterDays": { + "type": "number" }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, + "ComplianceLevel": { + "type": "string" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" } }, - "required": [ - "RedirectRule" - ], "type": "object" }, - "AWS::S3::Bucket.RoutingRuleCondition": { + "AWS::SSM::PatchBaseline.RuleGroup": { "additionalProperties": false, "properties": { - "HttpErrorCodeReturnedEquals": { - "type": "string" - }, - "KeyPrefixEquals": { - "type": "string" + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" } }, "type": "object" }, - "AWS::S3::Bucket.Rule": { + "AWS::SSM::ResourceDataSync": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NoncurrentVersionExpirationInDays": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + "Metadata": { + "type": "object" }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" + } }, - "type": "array" + "required": [ + "SyncName" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], "type": "string" }, - "Status": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.S3KeyFilter": { + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { "additionalProperties": false, "properties": { - "Rules": { + "OrganizationSourceType": { + "type": "string" + }, + "OrganizationalUnits": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + "type": "string" }, "type": "array" } }, "required": [ - "Rules" + "OrganizationSourceType" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "AWS::SSM::ResourceDataSync.S3Destination": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { + "BucketName": { "type": "string" }, - "SSEAlgorithm": { + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { "type": "string" } }, "required": [ - "SSEAlgorithm" + "BucketName", + "BucketRegion", + "SyncFormat" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SourceSelectionCriteria": { - "additionalProperties": false, - "properties": { - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "AWS::SSM::ResourceDataSync.SyncSource": { "additionalProperties": false, "properties": { - "Status": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { "type": "string" } }, "required": [ - "Status" + "SourceRegions", + "SourceType" ], "type": "object" }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { + "AWS::SSO::Assignment": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "type": "string" + }, + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Assignment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.TopicConfiguration": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { "additionalProperties": false, "properties": { - "Event": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Topic": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "type": "array" + }, + "InstanceArn": { + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Event", - "Topic" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.Transition": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { "additionalProperties": false, "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionDate": { + "Key": { "type": "string" }, - "TransitionInDays": { - "type": "number" + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" } }, "required": [ - "StorageClass" + "Key", + "Value" ], "type": "object" }, - "AWS::S3::Bucket.VersioningConfiguration": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { "additionalProperties": false, "properties": { - "Status": { - "type": "string" + "Source": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList" } }, "required": [ - "Status" + "Source" ], "type": "object" }, - "AWS::S3::Bucket.WebsiteConfiguration": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList": { "additionalProperties": false, "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" - }, - "RoutingRules": { + "AccessControlAttributeValueSourceList": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::S3::BucketPolicy": { + "AWS::SSO::PermissionSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69906,22 +86803,46 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { + "Description": { "type": "string" }, - "PolicyDocument": { + "InlinePolicy": { "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Bucket", - "PolicyDocument" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::BucketPolicy" + "AWS::SSO::PermissionSet" ], "type": "string" }, @@ -69940,7 +86861,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SDB::Domain": { + "AWS::SageMaker::App": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69972,15 +86893,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AppName": { + "type": "string" + }, + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { "type": "string" } }, + "required": [ + "AppName", + "AppType", + "DomainId", + "UserProfileName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SDB::Domain" + "AWS::SageMaker::App" ], "type": "string" }, @@ -69994,11 +86939,27 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet": { + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70030,15 +86991,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "AppImageConfigName": { "type": "string" + }, + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AppImageConfigName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSet" + "AWS::SageMaker::AppImageConfig" ], "type": "string" }, @@ -70052,11 +87025,60 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination": { + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "type": "number" + }, + "DefaultUid": { + "type": "number" + }, + "MountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70088,22 +87110,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetName": { + "CodeRepositoryName": { "type": "string" }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" } }, "required": [ - "ConfigurationSetName", - "EventDestination" + "GitConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSetEventDestination" + "AWS::SageMaker::CodeRepository" ], "type": "string" }, @@ -70122,82 +87143,359 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::SageMaker::CodeRepository.GitConfig": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "Branch": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + }, + "SecretArn": { + "type": "string" } }, + "required": [ + "RepositoryUrl" + ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::SageMaker::DataQualityJobDefinition": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DimensionName": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], "type": "string" }, - "DimensionValueSource": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + "InstanceCount": { + "type": "number" }, - "Enabled": { - "type": "boolean" + "InstanceType": { + "type": "string" }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + "VolumeKmsKeyId": { + "type": "string" }, - "MatchingEventTypes": { + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { "items": { "type": "string" }, "type": "array" }, - "Name": { + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { "type": "string" } }, "required": [ - "MatchingEventTypes" + "ImageUri" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { "additionalProperties": false, "properties": { - "DeliveryStreamARN": { + "BaseliningJobName": { "type": "string" }, - "IAMRoleARN": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { "type": "string" } }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, "required": [ - "DeliveryStreamARN", - "IAMRoleARN" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SES::ReceiptFilter": { + "AWS::SageMaker::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70229,18 +87527,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + "Device": { + "type": "object" + }, + "DeviceFleetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Filter" + "DeviceFleetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptFilter" + "AWS::SageMaker::Device" ], "type": "string" }, @@ -70259,38 +87566,25 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SES::ReceiptFilter.Filter": { + "AWS::SageMaker::Device.Device": { "additionalProperties": false, "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { + "Description": { "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { - "additionalProperties": false, - "properties": { - "Cidr": { + }, + "DeviceName": { "type": "string" }, - "Policy": { + "IotThingName": { "type": "string" } }, "required": [ - "Cidr", - "Policy" + "DeviceName" ], "type": "object" }, - "AWS::SES::ReceiptRule": { + "AWS::SageMaker::DeviceFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70322,25 +87616,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "After": { + "Description": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + "DeviceFleetName": { + "type": "string" }, - "RuleSetName": { + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Rule", - "RuleSetName" + "DeviceFleetName", + "OutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRule" + "AWS::SageMaker::DeviceFleet" ], "type": "string" }, @@ -70359,187 +87663,212 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SES::ReceiptRule.Action": { - "additionalProperties": false, - "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" - }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.AddHeaderAction": { + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { "additionalProperties": false, "properties": { - "HeaderName": { + "KmsKeyId": { "type": "string" }, - "HeaderValue": { + "S3OutputLocation": { "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "S3OutputLocation" ], "type": "object" }, - "AWS::SES::ReceiptRule.BounceAction": { + "AWS::SageMaker::Domain": { "additionalProperties": false, "properties": { - "Message": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Sender": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SmtpReplyCode": { - "type": "string" + "Metadata": { + "type": "object" }, - "StatusCode": { + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "type": "string" + }, + "AuthMode": { + "type": "string" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], "type": "string" }, - "TopicArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Message", - "Sender", - "SmtpReplyCode" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ReceiptRule.LambdaAction": { + "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { - "FunctionArn": { + "AppImageConfigName": { "type": "string" }, - "InvocationType": { + "ImageName": { "type": "string" }, - "TopicArn": { - "type": "string" + "ImageVersionNumber": { + "type": "number" } }, "required": [ - "FunctionArn" + "AppImageConfigName", + "ImageName" ], "type": "object" }, - "AWS::SES::ReceiptRule.Rule": { + "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" }, "type": "array" }, - "ScanEnabled": { - "type": "boolean" - }, - "TlsPolicy": { - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" } }, "type": "object" }, - "AWS::SES::ReceiptRule.S3Action": { + "AWS::SageMaker::Domain.ResourceSpec": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" - }, - "KmsKeyArn": { + "InstanceType": { "type": "string" }, - "ObjectKeyPrefix": { + "SageMakerImageArn": { "type": "string" }, - "TopicArn": { + "SageMakerImageVersionArn": { "type": "string" } }, - "required": [ - "BucketName" - ], "type": "object" }, - "AWS::SES::ReceiptRule.SNSAction": { + "AWS::SageMaker::Domain.SharingSettings": { "additionalProperties": false, "properties": { - "Encoding": { + "NotebookOutputOption": { "type": "string" }, - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { - "additionalProperties": false, - "properties": { - "Scope": { + "S3KmsKeyId": { "type": "string" }, - "TopicArn": { + "S3OutputPath": { "type": "string" } }, - "required": [ - "Scope" - ], "type": "object" }, - "AWS::SES::ReceiptRule.WorkmailAction": { + "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { - "OrganizationArn": { + "ExecutionRole": { "type": "string" }, - "TopicArn": { - "type": "string" + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" } }, - "required": [ - "OrganizationArn" - ], "type": "object" }, - "AWS::SES::ReceiptRuleSet": { + "AWS::SageMaker::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70571,15 +87900,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RuleSetName": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "EndpointName": { "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "EndpointConfigName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRuleSet" + "AWS::SageMaker::Endpoint" ], "type": "string" }, @@ -70592,12 +87945,116 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, "required": [ "Type" ], "type": "object" }, - "AWS::SES::Template": { + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70629,15 +88086,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ProductionVariants" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::Template" + "AWS::SageMaker::EndpointConfig" ], "type": "string" }, @@ -70651,116 +88129,105 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::Template.Template": { + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "HtmlPart": { - "type": "string" - }, - "SubjectPart": { - "type": "string" - }, - "TemplateName": { - "type": "string" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" }, - "TextPart": { + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { "type": "string" } }, + "required": [ + "CaptureMode" + ], "type": "object" }, - "AWS::SNS::Subscription": { + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnableCapture": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "InitialSamplingPercentage": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "additionalProperties": false, + "properties": { + "AcceleratorType": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ModelName": { + "type": "string" + }, + "VariantName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" ], "type": "object" }, - "AWS::SNS::Topic": { + "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70792,39 +88259,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { + "Description": { "type": "string" }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { + "EventTimeFeatureName": { "type": "string" }, - "Subscription": { + "FeatureDefinitions": { "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" }, "type": "array" }, + "FeatureGroupName": { + "type": "string" + }, + "OfflineStoreConfig": { + "type": "object" + }, + "OnlineStoreConfig": { + "type": "object" + }, + "RecordIdentifierFeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TopicName": { - "type": "string" } }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::Topic" + "AWS::SageMaker::FeatureGroup" ], "type": "string" }, @@ -70838,27 +88317,28 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SNS::Topic.Subscription": { + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { "additionalProperties": false, "properties": { - "Endpoint": { + "FeatureName": { "type": "string" }, - "Protocol": { + "FeatureType": { "type": "string" } }, "required": [ - "Endpoint", - "Protocol" + "FeatureName", + "FeatureType" ], "type": "object" }, - "AWS::SNS::TopicPolicy": { + "AWS::SageMaker::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70890,25 +88370,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "ImageDescription": { + "type": "string" }, - "Topics": { + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "PolicyDocument", - "Topics" + "ImageName", + "ImageRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::TopicPolicy" + "AWS::SageMaker::Image" ], "type": "string" }, @@ -70927,7 +88416,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SQS::Queue": { + "AWS::SageMaker::ImageVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70959,51 +88448,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { + "BaseImage": { "type": "string" }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { + "ImageName": { "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" } }, + "required": [ + "BaseImage", + "ImageName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::Queue" + "AWS::SageMaker::ImageVersion" ], "type": "string" }, @@ -71017,11 +88477,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SQS::QueuePolicy": { + "AWS::SageMaker::Model": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71053,25 +88514,45 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" }, - "Queues": { + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, "required": [ - "PolicyDocument", - "Queues" + "ExecutionRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::SageMaker::Model" ], "type": "string" }, @@ -71090,7 +88571,92 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SSM::Association": { + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "type": "string" + }, + "Environment": { + "type": "object" + }, + "Image": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { + "type": "string" + }, + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71122,69 +88688,52 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" - }, - "AssociationName": { - "type": "string" - }, - "AutomationTargetParameterName": { - "type": "string" - }, - "ComplianceSeverity": { - "type": "string" - }, - "DocumentVersion": { + "JobDefinitionName": { "type": "string" }, - "InstanceId": { - "type": "string" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" }, - "MaxConcurrency": { - "type": "string" + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" }, - "MaxErrors": { - "type": "string" + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" }, - "Name": { - "type": "string" + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" }, - "ScheduleExpression": { + "RoleArn": { "type": "string" }, - "SyncCompliance": { - "type": "string" + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" } }, "required": [ - "Name" + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Association" + "AWS::SageMaker::ModelBiasJobDefinition" ], "type": "string" }, @@ -71203,136 +88752,253 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::SSM::Association.ParameterValues": { + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" + "S3Uri": { + "type": "string" } }, "type": "object" }, - "AWS::SSM::Association.S3OutputLocation": { + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "OutputS3BucketName": { + "EndTimeOffset": { "type": "string" }, - "OutputS3KeyPrefix": { + "EndpointName": { "type": "string" }, - "OutputS3Region": { + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], "type": "object" }, - "AWS::SSM::Association.Target": { + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { - "Key": { + "ConfigUri": { "type": "string" }, - "Values": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" }, "type": "array" } }, "required": [ - "Key", - "Values" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SSM::Document": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnableNetworkIsolation": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "object" - }, - "DocumentType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Content" - ], - "type": "object" + "S3UploadMode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SSM::Document" - ], + "S3Uri": { "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SSM::MaintenanceWindow": { + "AWS::SageMaker::ModelExplainabilityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71364,36 +89030,33 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { + "JobDefinitionName": { "type": "string" }, - "Duration": { - "type": "number" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" }, - "EndDate": { - "type": "string" + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" }, - "Name": { - "type": "string" + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" }, - "Schedule": { - "type": "string" + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" }, - "ScheduleOffset": { - "type": "number" + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" }, - "ScheduleTimezone": { - "type": "string" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" }, - "StartDate": { + "RoleArn": { "type": "string" }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -71402,17 +89065,17 @@ var CloudformationSchema = `{ } }, "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::SageMaker::ModelExplainabilityJobDefinition" ], "type": "string" }, @@ -71431,7 +89094,228 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackageGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71463,38 +89347,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { + "ModelPackageGroupDescription": { "type": "string" }, - "OwnerInformation": { + "ModelPackageGroupName": { "type": "string" }, - "ResourceType": { - "type": "string" + "ModelPackageGroupPolicy": { + "type": "object" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WindowId": { - "type": "string" } }, "required": [ - "ResourceType", - "Targets", - "WindowId" + "ModelPackageGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::SageMaker::ModelPackageGroup" ], "type": "string" }, @@ -71513,25 +89389,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { + "AWS::SageMaker::ModelQualityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71563,63 +89421,52 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "JobDefinitionName": { "type": "string" }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" }, - "MaxConcurrency": { - "type": "string" + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" }, - "MaxErrors": { - "type": "string" + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" }, - "Name": { - "type": "string" + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" }, - "Priority": { - "type": "number" + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" }, - "ServiceRoleArn": { + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { "type": "string" }, - "Targets": { + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { - "type": "string" - }, - "WindowId": { - "type": "string" } }, "required": [ - "MaxConcurrency", - "MaxErrors", - "Priority", - "Targets", - "TaskArn", - "TaskType", - "WindowId" + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::SageMaker::ModelQualityJobDefinition" ], "type": "string" }, @@ -71638,242 +89485,268 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "Region": { - "type": "string" + "InstanceCount": { + "type": "number" }, - "S3Bucket": { + "InstanceType": { "type": "string" }, - "S3Prefix": { + "VolumeKmsKeyId": { "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "Region", - "S3Bucket" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "DocumentVersion": { + "S3Uri": { "type": "string" - }, - "Parameters": { - "type": "object" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "ClientContext": { + "EndTimeOffset": { "type": "string" }, - "Payload": { + "EndpointName": { "type": "string" }, - "Qualifier": { + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "DocumentHashType": { - "type": "string" + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" }, - "OutputS3BucketName": { + "ImageUri": { "type": "string" }, - "OutputS3KeyPrefix": { + "PostAnalyticsProcessorSourceUri": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { + "ProblemType": { "type": "string" }, - "TimeoutSeconds": { - "type": "number" + "RecordPreprocessorSourceUri": { + "type": "string" } }, + "required": [ + "ImageUri", + "ProblemType" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { "additionalProperties": false, "properties": { - "Input": { + "BaseliningJobName": { "type": "string" }, - "Name": { - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { "additionalProperties": false, "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" }, - "NotificationType": { + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { "type": "string" } }, "required": [ - "NotificationArn" + "S3Uri" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.Target": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "Key": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { "type": "string" }, - "Values": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" }, "type": "array" } }, "required": [ - "Key" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + "EnableNetworkIsolation": { + "type": "boolean" }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" } }, + "required": [ + "MaxRuntimeInSeconds" + ], "type": "object" }, - "AWS::SSM::Parameter": { + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } + "SecurityGroupIds": { + "items": { + "type": "string" }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SSM::PatchBaseline": { + "AWS::SageMaker::MonitoringSchedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71905,54 +89778,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { + "EndpointName": { "type": "string" }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, - "Description": { + "FailureReason": { "type": "string" }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" }, - "Name": { - "type": "string" + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" }, - "OperatingSystem": { + "MonitoringScheduleName": { "type": "string" }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatchesAction": { + "MonitoringScheduleStatus": { "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -71961,13 +89804,14 @@ var CloudformationSchema = `{ } }, "required": [ - "Name" + "MonitoringScheduleConfig", + "MonitoringScheduleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::SageMaker::MonitoringSchedule" ], "type": "string" }, @@ -71986,245 +89830,358 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilter": { + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { "additionalProperties": false, "properties": { - "Key": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { "additionalProperties": false, "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" + "S3Uri": { + "type": "string" } }, "type": "object" }, - "AWS::SSM::PatchBaseline.PatchSource": { + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { "additionalProperties": false, "properties": { - "Configuration": { + "EndpointName": { "type": "string" }, - "Name": { + "LocalPath": { "type": "string" }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchStringDate": { + "AWS::SageMaker::MonitoringSchedule.Environment": { "additionalProperties": false, "properties": {}, "type": "object" }, - "AWS::SSM::PatchBaseline.Rule": { + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { - "ApproveAfterDays": { - "type": "number" + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "ComplianceLevel": { + "ImageUri": { "type": "string" }, - "EnableNonSecurity": { - "type": "boolean" + "PostAnalyticsProcessorSourceUri": { + "type": "string" }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + "RecordPreprocessorSourceUri": { + "type": "string" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.RuleGroup": { + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { "additionalProperties": false, "properties": { - "PatchRules": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "additionalProperties": false, + "properties": { + "MonitoringInputs": { "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" }, "type": "array" } }, "type": "object" }, - "AWS::SSM::ResourceDataSync": { + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" }, - "Metadata": { - "type": "object" + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" - }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" - }, - "SyncType": { - "type": "string" - } - }, - "required": [ - "SyncName" - ], - "type": "object" + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" }, - "Type": { - "enum": [ - "AWS::SSM::ResourceDataSync" - ], - "type": "string" + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" } }, "required": [ - "Type", - "Properties" + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" ], "type": "object" }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { "additionalProperties": false, "properties": { - "OrganizationSourceType": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { "type": "string" }, - "OrganizationalUnits": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" }, "type": "array" } }, "required": [ - "OrganizationSourceType" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SSM::ResourceDataSync.S3Destination": { + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { "additionalProperties": false, "properties": { - "BucketName": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "MonitoringJobDefinitionName": { "type": "string" }, - "BucketPrefix": { + "MonitoringType": { "type": "string" }, - "BucketRegion": { + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { "type": "string" }, - "KMSKeyArn": { + "S3UploadMode": { "type": "string" }, - "SyncFormat": { + "S3Uri": { "type": "string" } }, "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SSM::ResourceDataSync.SyncSource": { + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { "additionalProperties": false, "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { "items": { "type": "string" }, "type": "array" }, - "SourceType": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "SourceRegions", - "SourceType" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SSO::Assignment": { + "AWS::SageMaker::NotebookInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72256,38 +90213,70 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalCodeRepositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultCodeRepository": { "type": "string" }, - "PermissionSetArn": { + "DirectInternetAccess": { "type": "string" }, - "PrincipalId": { + "InstanceType": { "type": "string" }, - "PrincipalType": { + "KmsKeyId": { "type": "string" }, - "TargetId": { + "LifecycleConfigName": { "type": "string" }, - "TargetType": { + "NotebookInstanceName": { "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RootAccess": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" + "InstanceType", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Assignment" + "AWS::SageMaker::NotebookInstance" ], "type": "string" }, @@ -72306,7 +90295,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72338,46 +90327,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InlinePolicy": { - "type": "string" - }, - "InstanceArn": { + "NotebookInstanceLifecycleConfigName": { "type": "string" }, - "ManagedPolicies": { + "OnCreate": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" }, "type": "array" }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { - "type": "string" - }, - "Tags": { + "OnStart": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" }, "type": "array" } }, - "required": [ - "InstanceArn", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::PermissionSet" + "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" }, @@ -72391,12 +90361,20 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::CodeRepository": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72428,21 +90406,38 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CodeRepositoryName": { + "PipelineDefinition": { + "type": "object" + }, + "PipelineDescription": { "type": "string" }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + "PipelineDisplayName": { + "type": "string" + }, + "PipelineName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GitConfig" + "PipelineDefinition", + "PipelineName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::SageMaker::Pipeline" ], "type": "string" }, @@ -72461,25 +90456,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint": { + "AWS::SageMaker::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72511,20 +90488,14 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigName": { + "ProjectDescription": { "type": "string" }, - "EndpointName": { + "ProjectName": { "type": "string" }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" + "ServiceCatalogProvisioningDetails": { + "type": "object" }, "Tags": { "items": { @@ -72534,13 +90505,14 @@ var CloudformationSchema = `{ } }, "required": [ - "EndpointConfigName" + "ProjectName", + "ServiceCatalogProvisioningDetails" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::SageMaker::Project" ], "type": "string" }, @@ -72559,16 +90531,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { + "AWS::SageMaker::UserProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72600,36 +90563,37 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" - }, - "EndpointConfigName": { + "DomainId": { "type": "string" }, - "KmsKeyId": { + "SingleSignOnUserIdentifier": { "type": "string" }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "type": "array" + "SingleSignOnUserValue": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserProfileName": { + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" } }, "required": [ - "ProductionVariants" + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::SageMaker::UserProfile" ], "type": "string" }, @@ -72648,100 +90612,104 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "AppImageConfigName": { + "type": "string" }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" } }, + "required": [ + "AppImageConfigName", + "ImageName" + ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { - "CaptureMode": { - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" } }, - "required": [ - "CaptureMode" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { "additionalProperties": false, "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { + "CustomImages": { "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" }, "type": "array" }, - "DestinationS3Uri": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { "type": "string" }, - "EnableCapture": { - "type": "boolean" - }, - "InitialSamplingPercentage": { - "type": "number" + "SageMakerImageArn": { + "type": "string" }, - "KmsKeyId": { + "SageMakerImageVersionArn": { "type": "string" } }, - "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "AWS::SageMaker::UserProfile.SharingSettings": { "additionalProperties": false, "properties": { - "AcceleratorType": { + "NotebookOutputOption": { "type": "string" }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { + "S3KmsKeyId": { "type": "string" }, - "ModelName": { + "S3OutputPath": { "type": "string" - }, - "VariantName": { + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" } }, - "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" - ], "type": "object" }, - "AWS::SageMaker::Model": { + "AWS::SageMaker::Workteam": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72773,23 +90741,17 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Containers": { + "Description": { + "type": "string" + }, + "MemberDefinitions": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" }, "type": "array" }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" }, "Tags": { "items": { @@ -72797,18 +90759,15 @@ var CloudformationSchema = `{ }, "type": "array" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + "WorkteamName": { + "type": "string" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Model" + "AWS::SageMaker::Workteam" ], "type": "string" }, @@ -72822,73 +90781,55 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::Model.ContainerDefinition": { + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { + "CognitoClientId": { "type": "string" }, - "ModelDataUrl": { + "CognitoUserGroup": { "type": "string" }, - "ModelPackageName": { + "CognitoUserPool": { "type": "string" } }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], "type": "object" }, - "AWS::SageMaker::Model.ImageConfig": { + "AWS::SageMaker::Workteam.MemberDefinition": { "additionalProperties": false, "properties": { - "RepositoryAccessMode": { - "type": "string" + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" } }, "required": [ - "RepositoryAccessMode" + "CognitoMemberDefinition" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::Workteam.NotificationConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "NotificationTopicArn": { + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "NotificationTopicArn" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule": { + "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72920,49 +90861,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastModifiedTime": { - "type": "string" - }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" - }, - "MonitoringScheduleArn": { - "type": "string" - }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + "BlockPublicPolicy": { + "type": "boolean" }, - "MonitoringScheduleName": { - "type": "string" + "ResourcePolicy": { + "type": "object" }, - "MonitoringScheduleStatus": { + "SecretId": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" + "ResourcePolicy", + "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::SecretsManager::ResourcePolicy" ], "type": "string" }, @@ -72981,355 +90898,378 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { - "additionalProperties": false, - "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "AWS::SecretsManager::RotationSchedule": { "additionalProperties": false, "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3DataDistributionType": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "ContainerEntrypoint": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } }, - "type": "array" - }, - "ImageUri": { - "type": "string" + "required": [ + "SecretId" + ], + "type": "object" }, - "PostAnalyticsProcessorSourceUri": { + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], "type": "string" }, - "RecordPreprocessorSourceUri": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ImageUri" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { + "KmsKeyArn": { "type": "string" }, - "FailureReason": { + "MasterSecretArn": { "type": "string" }, - "LastModifiedTime": { + "MasterSecretKmsKeyArn": { "type": "string" }, - "MonitoringExecutionStatus": { + "RotationLambdaName": { "type": "string" }, - "MonitoringScheduleName": { + "RotationType": { "type": "string" }, - "ProcessingJobArn": { + "VpcSecurityGroupIds": { "type": "string" }, - "ScheduledTime": { + "VpcSubnetIds": { "type": "string" } }, "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" - } - }, - "required": [ - "EndpointInput" + "RotationType" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "AWS::SecretsManager::RotationSchedule.RotationRules": { "additionalProperties": false, "properties": { - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" + "AutomaticallyAfterDays": { + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "AWS::SecretsManager::Secret": { "additionalProperties": false, "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + "Metadata": { + "type": "object" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "S3Output" + "Type" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "AWS::SecretsManager::Secret.GenerateSecretString": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "ExcludeCharacters": { "type": "string" }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + "ExcludeLowercase": { + "type": "boolean" }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" - } - }, - "required": [ - "MonitoringJobDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { + "ExcludeNumbers": { "type": "boolean" }, - "EnableNetworkIsolation": { + "ExcludePunctuation": { "type": "boolean" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" + "ExcludeUppercase": { + "type": "boolean" }, - "S3UploadMode": { + "GenerateStringKey": { "type": "string" }, - "S3Uri": { + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { "type": "string" } }, - "required": [ - "LocalPath", - "S3Uri" - ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "AWS::SecretsManager::Secret.ReplicaRegion": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "KmsKeyId": { + "type": "string" + }, + "Region": { "type": "string" } }, "required": [ - "ScheduleExpression" + "Region" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "AWS::SecretsManager::SecretTargetAttachment": { "additionalProperties": false, "properties": { - "S3Uri": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" } }, "required": [ - "MaxRuntimeInSeconds" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Subnets": { - "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": { + "Tags": { + "type": "object" + } }, - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Hub" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "Type" ], "type": "object" }, - "AWS::SageMaker::NotebookInstance": { + "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73361,70 +91301,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { + "AcceptLanguage": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { + "PortfolioId": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" } }, "required": [ - "InstanceType", - "RoleArn" + "PortfolioId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::NotebookInstance" + "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "type": "string" }, @@ -73443,7 +91334,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "AWS::ServiceCatalog::CloudFormationProduct": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73475,27 +91366,56 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "NotebookInstanceLifecycleConfigName": { + "AcceptLanguage": { "type": "string" }, - "OnCreate": { + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" }, "type": "array" }, - "OnStart": { + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" + "AWS::ServiceCatalog::CloudFormationProduct" ], "type": "string" }, @@ -73509,20 +91429,33 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { "additionalProperties": false, "properties": { - "Content": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { "type": "string" } }, + "required": [ + "Info" + ], "type": "object" }, - "AWS::SageMaker::Workteam": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73554,33 +91487,57 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AcceptLanguage": { "type": "string" }, - "MemberDefinitions": { + "NotificationArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + "type": "string" }, "type": "array" }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + "PathId": { + "type": "string" + }, + "PathName": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProvisionedProductName": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ProvisioningArtifactName": { + "type": "string" + }, + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WorkteamName": { - "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Workteam" + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" }, @@ -73598,51 +91555,56 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { "additionalProperties": false, "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { + "Key": { "type": "string" }, - "CognitoUserPool": { + "Value": { "type": "string" } }, "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" + "Key", + "Value" ], "type": "object" }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { "additionalProperties": false, "properties": { - "NotificationTopicArn": { + "StackSetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackSetFailureToleranceCount": { + "type": "number" + }, + "StackSetFailureTolerancePercentage": { + "type": "number" + }, + "StackSetMaxConcurrencyCount": { + "type": "number" + }, + "StackSetMaxConcurrencyPercentage": { + "type": "number" + }, + "StackSetOperationType": { "type": "string" + }, + "StackSetRegions": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "NotificationTopicArn" - ], "type": "object" }, - "AWS::SecretsManager::ResourcePolicy": { + "AWS::ServiceCatalog::LaunchNotificationConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73674,22 +91636,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "type": "object" + "AcceptLanguage": { + "type": "string" }, - "SecretId": { + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { "type": "string" } }, "required": [ - "ResourcePolicy", - "SecretId" + "NotificationArns", + "PortfolioId", + "ProductId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "type": "string" }, @@ -73708,7 +91683,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::ServiceCatalog::LaunchRoleConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73740,27 +91715,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + "AcceptLanguage": { + "type": "string" }, - "RotationLambdaARN": { + "Description": { "type": "string" }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + "LocalRoleName": { + "type": "string" }, - "SecretId": { + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, "required": [ - "SecretId" + "PortfolioId", + "ProductId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" }, @@ -73779,46 +91761,83 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "AWS::ServiceCatalog::LaunchTemplateConstraint": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MasterSecretKmsKeyArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RotationLambdaName": { - "type": "string" + "Metadata": { + "type": "object" }, - "RotationType": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], + "type": "object" }, - "VpcSecurityGroupIds": { + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchTemplateConstraint" + ], "type": "string" }, - "VpcSubnetIds": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RotationType" + "Type", + "Properties" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::ServiceCatalog::Portfolio": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73850,19 +91869,16 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AcceptLanguage": { "type": "string" }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { + "Description": { "type": "string" }, - "Name": { + "DisplayName": { "type": "string" }, - "SecretString": { + "ProviderName": { "type": "string" }, "Tags": { @@ -73872,11 +91888,15 @@ var CloudformationSchema = `{ "type": "array" } }, + "required": [ + "DisplayName", + "ProviderName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::Secret" + "AWS::ServiceCatalog::Portfolio" ], "type": "string" }, @@ -73890,47 +91910,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "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": { + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73962,26 +91947,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SecretId": { + "AcceptLanguage": { "type": "string" }, - "TargetId": { + "PortfolioId": { "type": "string" }, - "TargetType": { + "PrincipalARN": { + "type": "string" + }, + "PrincipalType": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "PortfolioId", + "PrincipalARN", + "PrincipalType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" }, @@ -74000,7 +91988,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::ServiceCatalog::PortfolioProductAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74032,15 +92020,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" } }, + "required": [ + "PortfolioId", + "ProductId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SecurityHub::Hub" + "AWS::ServiceCatalog::PortfolioProductAssociation" ], "type": "string" }, @@ -74054,11 +92055,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::ServiceCatalog::PortfolioShare": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74093,18 +92095,25 @@ var CloudformationSchema = `{ "AcceptLanguage": { "type": "string" }, + "AccountId": { + "type": "string" + }, "PortfolioId": { "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" } }, "required": [ + "AccountId", "PortfolioId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" }, @@ -74123,7 +92132,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::ServiceCatalog::ResourceUpdateConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74161,50 +92170,26 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { + "PortfolioId": { "type": "string" }, - "SupportEmail": { + "ProductId": { "type": "string" }, - "SupportUrl": { + "TagUpdateOnProvisionedProduct": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" }, @@ -74223,28 +92208,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::ServiceCatalog::ServiceAction": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74279,54 +92243,32 @@ var CloudformationSchema = `{ "AcceptLanguage": { "type": "string" }, - "NotificationArns": { + "Definition": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" }, "type": "array" }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { + "DefinitionType": { "type": "string" }, - "ProvisioningArtifactId": { + "Description": { "type": "string" }, - "ProvisioningArtifactName": { + "Name": { "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + "AWS::ServiceCatalog::ServiceAction" ], "type": "string" }, @@ -74340,11 +92282,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { "additionalProperties": false, "properties": { "Key": { @@ -74360,40 +92303,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "AWS::ServiceCatalog::ServiceActionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74425,35 +92335,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { + "ProductId": { "type": "string" }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { + "ProvisioningArtifactId": { "type": "string" }, - "ProductId": { + "ServiceActionId": { "type": "string" } }, "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" + "AWS::ServiceCatalog::ServiceActionAssociation" ], "type": "string" }, @@ -74472,7 +92373,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { + "AWS::ServiceCatalog::StackSetConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74507,10 +92408,19 @@ var CloudformationSchema = `{ "AcceptLanguage": { "type": "string" }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, "Description": { "type": "string" }, - "LocalRoleName": { + "ExecutionRole": { "type": "string" }, "PortfolioId": { @@ -74519,95 +92429,31 @@ var CloudformationSchema = `{ "ProductId": { "type": "string" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "RegionList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { + "StackInstanceControl": { "type": "string" } }, "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", "PortfolioId", "ProductId", - "Rules" + "RegionList", + "StackInstanceControl" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" + "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" }, @@ -74626,7 +92472,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::Portfolio": { + "AWS::ServiceCatalog::TagOption": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74658,34 +92504,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" + "Active": { + "type": "boolean" }, - "DisplayName": { + "Key": { "type": "string" }, - "ProviderName": { + "Value": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DisplayName", - "ProviderName" + "Key", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::Portfolio" + "AWS::ServiceCatalog::TagOption" ], "type": "string" }, @@ -74704,7 +92541,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "AWS::ServiceCatalog::TagOptionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74736,29 +92573,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { + "ResourceId": { "type": "string" }, - "PrincipalType": { + "TagOptionId": { "type": "string" } }, "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" + "ResourceId", + "TagOptionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" }, @@ -74777,7 +92607,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { + "AWS::ServiceCatalogAppRegistry::Application": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74809,28 +92639,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "Description": { "type": "string" }, - "ProductId": { + "Name": { "type": "string" }, - "SourcePortfolioId": { - "type": "string" + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PortfolioId", - "ProductId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" + "AWS::ServiceCatalogAppRegistry::Application" ], "type": "string" }, @@ -74849,7 +92681,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioShare": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74881,25 +92713,34 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" + "Attributes": { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes" }, - "AccountId": { + "Description": { "type": "string" }, - "PortfolioId": { + "Name": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "AccountId", - "PortfolioId" + "Attributes", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioShare" + "AWS::ServiceCatalogAppRegistry::AttributeGroup" ], "type": "string" }, @@ -74918,7 +92759,12 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74950,32 +92796,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { + "Application": { "type": "string" }, - "TagUpdateOnProvisionedProduct": { + "AttributeGroup": { "type": "string" } }, "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" + "Application", + "AttributeGroup" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" ], "type": "string" }, @@ -74994,7 +92830,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::StackSetConstraint": { + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75026,55 +92862,26 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { + "Application": { "type": "string" }, - "ProductId": { + "Resource": { "type": "string" }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { + "ResourceType": { "type": "string" } }, "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" + "Application", + "Resource", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" ], "type": "string" }, @@ -75093,7 +92900,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::TagOption": { + "AWS::ServiceDiscovery::HttpNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75125,25 +92932,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Active": { - "type": "boolean" - }, - "Key": { + "Description": { "type": "string" }, - "Value": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Key", - "Value" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOption" + "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" }, @@ -75162,7 +92971,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::TagOptionAssociation": { + "AWS::ServiceDiscovery::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75194,22 +93003,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceId": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { "type": "string" }, - "TagOptionId": { + "ServiceId": { "type": "string" } }, "required": [ - "ResourceId", - "TagOptionId" + "InstanceAttributes", + "ServiceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" + "AWS::ServiceDiscovery::Instance" ], "type": "string" }, @@ -75228,7 +93040,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::HttpNamespace": { + "AWS::ServiceDiscovery::PrivateDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75271,16 +93083,20 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Vpc": { + "type": "string" } }, "required": [ - "Name" + "Name", + "Vpc" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" + "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" }, @@ -75299,7 +93115,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::Instance": { + "AWS::ServiceDiscovery::PublicDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75331,25 +93147,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { + "Description": { "type": "string" }, - "ServiceId": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "InstanceAttributes", - "ServiceId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Instance" + "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" }, @@ -75368,7 +93186,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "AWS::ServiceDiscovery::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75403,28 +93221,33 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, "Name": { "type": "string" }, + "NamespaceId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Vpc": { - "type": "string" } }, - "required": [ - "Name", - "Vpc" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" + "AWS::ServiceDiscovery::Service" ], "type": "string" }, @@ -75438,12 +93261,75 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75475,27 +93361,33 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "Name": { + "Principal": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" } }, "required": [ - "Name" + "Action", + "Principal", + "ProfileName", + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" + "AWS::Signer::ProfilePermission" ], "type": "string" }, @@ -75514,7 +93406,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::Service": { + "AWS::Signer::SigningProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75546,23 +93438,11 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { + "PlatformId": { "type": "string" }, - "NamespaceId": { - "type": "string" + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" }, "Tags": { "items": { @@ -75571,11 +93451,14 @@ var CloudformationSchema = `{ "type": "array" } }, + "required": [ + "PlatformId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Service" + "AWS::Signer::SigningProfile" ], "type": "string" }, @@ -75589,69 +93472,18 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceDiscovery::Service.DnsConfig": { + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { "additionalProperties": false, "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, "Type": { "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { + "Value": { "type": "number" } }, @@ -75773,6 +93605,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, "DefinitionS3Location": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" }, @@ -75780,7 +93615,13 @@ var CloudformationSchema = `{ "type": "string" }, "DefinitionSubstitutions": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" @@ -75839,7 +93680,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "AWS::StepFunctions::StateMachine.Definition": { "additionalProperties": false, "properties": {}, "type": "object" @@ -76038,6 +93879,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Handler" + ], "type": "object" }, "AWS::Synthetics::Canary.RunConfig": { @@ -76046,6 +93890,15 @@ var CloudformationSchema = `{ "ActiveTracing": { "type": "boolean" }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "MemoryInMB": { "type": "number" }, @@ -76053,9 +93906,6 @@ var CloudformationSchema = `{ "type": "number" } }, - "required": [ - "TimeoutInSeconds" - ], "type": "object" }, "AWS::Synthetics::Canary.Schedule": { @@ -76274,6 +94124,9 @@ var CloudformationSchema = `{ "Certificate": { "type": "string" }, + "Domain": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -76338,7 +94191,7 @@ var CloudformationSchema = `{ }, "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + "type": "string" }, "type": "array" }, @@ -76378,11 +94231,6 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, - "AWS::Transfer::Server.SecurityGroupId": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -76430,6 +94278,9 @@ var CloudformationSchema = `{ "Policy": { "type": "string" }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, "Role": { "type": "string" }, @@ -76496,6 +94347,28 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, "AWS::Transfer::User.SshPublicKey": { "additionalProperties": false, "properties": {}, @@ -80483,6 +98356,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Athena::WorkGroup" }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -80546,6 +98422,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CloudFormation::Macro" }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, { "$ref": "#/definitions/AWS::CloudFormation::Stack" }, @@ -80567,9 +98455,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CloudFront::Distribution" }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, { "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, { "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" }, @@ -80594,6 +98488,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CloudWatch::InsightRule" }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, @@ -80708,6 +98605,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Config::RemediationConfiguration" }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, { "$ref": "#/definitions/AWS::DAX::Cluster" }, @@ -80738,15 +98638,60 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, { "$ref": "#/definitions/AWS::Detective::Graph" }, { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -80837,6 +98782,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, { "$ref": "#/definitions/AWS::EC2::NetworkInterface" }, @@ -80900,6 +98851,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -80957,6 +98923,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::VolumeAttachment" }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -80987,6 +98962,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EFS::MountTarget" }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, { "$ref": "#/definitions/AWS::EKS::Cluster" }, @@ -81011,9 +98989,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EMR::Step" }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -81029,6 +99019,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, { "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" }, @@ -81074,6 +99070,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -81152,6 +99157,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Glue::Partition" }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, { "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" }, @@ -81212,6 +99229,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, @@ -81242,12 +99262,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IAM::ManagedPolicy" }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, { "$ref": "#/definitions/AWS::IAM::Policy" }, { "$ref": "#/definitions/AWS::IAM::Role" }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, { "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" }, @@ -81257,6 +99286,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, { "$ref": "#/definitions/AWS::IVS::Channel" }, @@ -81269,6 +99301,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" }, @@ -81302,12 +99337,27 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoT1Click::Project" }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, { "$ref": "#/definitions/AWS::IoT::Authorizer" }, { "$ref": "#/definitions/AWS::IoT::Certificate" }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, { "$ref": "#/definitions/AWS::IoT::Policy" }, @@ -81317,6 +99367,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -81326,6 +99382,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoT::TopicRule" }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, { "$ref": "#/definitions/AWS::IoTAnalytics::Channel" }, @@ -81344,18 +99403,45 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Asset" }, { "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, { "$ref": "#/definitions/AWS::KMS::Alias" }, @@ -81413,6 +99499,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Lambda::Alias" }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, { "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" }, @@ -81434,6 +99523,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Lambda::Version" }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, @@ -81449,9 +99544,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, { "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" }, @@ -81467,6 +99568,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -81518,6 +99634,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, { "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" }, @@ -81635,6 +99763,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::QLDB::Stream" }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -81668,6 +99808,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::RDS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, { "$ref": "#/definitions/AWS::RDS::OptionGroup" }, @@ -81707,18 +99850,27 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, { "$ref": "#/definitions/AWS::Route53::HealthCheck" }, { "$ref": "#/definitions/AWS::Route53::HostedZone" }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, { "$ref": "#/definitions/AWS::Route53::RecordSet" }, { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, { "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" }, @@ -81743,6 +99895,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, { "$ref": "#/definitions/AWS::SDB::Domain" }, @@ -81806,21 +99973,63 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::SSO::Assignment" }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, { "$ref": "#/definitions/AWS::SageMaker::Endpoint" }, { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" }, @@ -81830,6 +100039,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, { "$ref": "#/definitions/AWS::SageMaker::Workteam" }, @@ -81881,6 +100099,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" }, @@ -81890,6 +100114,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, { "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" }, @@ -81905,6 +100141,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ServiceDiscovery::Service" }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, { "$ref": "#/definitions/AWS::StepFunctions::Activity" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index b03d4a658a..0f9392a981 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -34,6 +34,9 @@ "Properties": { "additionalProperties": false, "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, "CertificateAuthorityArn": { "type": "string" }, @@ -48,6 +51,9 @@ }, "Validity": { "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" } }, "required": [ @@ -79,6 +85,282 @@ ], "type": "object" }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.CertificatePolicyList": { + "additionalProperties": false, + "properties": { + "CertificatePolicyList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsageList": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.CertificatePolicyList" + }, + "ExtendedKeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsageList" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralNameList" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralNameList": { + "additionalProperties": false, + "properties": { + "GeneralNameList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfoList" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfoList": { + "additionalProperties": false, + "properties": { + "PolicyQualifierInfoList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::Certificate.Validity": { "additionalProperties": false, "properties": { @@ -127,6 +409,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, "KeyAlgorithm": { "type": "string" }, @@ -178,6 +463,34 @@ ], "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { "additionalProperties": false, "properties": { @@ -196,6 +509,113 @@ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { "additionalProperties": false, "properties": { @@ -253,6 +673,18 @@ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess": { + "additionalProperties": false, + "properties": { + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthorityActivation": { "additionalProperties": false, "properties": { @@ -773,6 +1205,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "Data": { "type": "string" }, @@ -966,6 +1401,9 @@ "BuildSpec": { "type": "string" }, + "CustomHeaders": { + "type": "string" + }, "CustomRules": { "items": { "$ref": "#/definitions/AWS::Amplify::App.CustomRule" @@ -4157,6 +4595,9 @@ "RequestTemplates": { "type": "object" }, + "ResponseParameters": { + "type": "object" + }, "TemplateSelectionExpression": { "type": "string" }, @@ -4194,285 +4635,313 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { + "AWS::ApiGatewayV2::Integration.ResponseParameter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], + "Destination": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Source": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Destination", + "Source" ], "type": "object" }, - "AWS::ApiGatewayV2::Model": { + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ApiGatewayV2::Route": { + "AWS::ApiGatewayV2::Integration.TlsConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerNameToVerify": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse": { + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -4598,6 +5067,9 @@ "AccessLogSettings": { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" }, + "AccessPolicyId": { + "type": "string" + }, "ApiId": { "type": "string" }, @@ -5748,6 +6220,9 @@ "AccessToken": { "type": "string" }, + "ClientCredentialsArn": { + "type": "string" + }, "ConnectorOAuthRequest": { "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" }, @@ -6159,6 +6634,9 @@ }, "Snowflake": { "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" } }, "type": "object" @@ -6236,6 +6714,27 @@ ], "type": "object" }, + "AWS::AppFlow::Flow.IdFieldNamesList": { + "additionalProperties": false, + "properties": { + "IdFieldNamesList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppFlow::Flow.InforNexusSourceProperties": { "additionalProperties": false, "properties": { @@ -6349,8 +6848,14 @@ "ErrorHandlingConfig": { "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" }, + "IdFieldNames": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IdFieldNamesList" + }, "Object": { "type": "string" + }, + "WriteOperationType": { + "type": "string" } }, "required": [ @@ -6515,6 +7020,9 @@ "ConnectorType": { "type": "string" }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, "SourceConnectorProperties": { "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" } @@ -6599,6 +7107,43 @@ ], "type": "object" }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { @@ -6678,7 +7223,6 @@ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -6867,9 +7411,6 @@ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -6888,8 +7429,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -6970,7 +7510,6 @@ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7438,8 +7977,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -7464,6 +8002,30 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { @@ -7494,6 +8056,9 @@ "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7512,6 +8077,33 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { @@ -7524,6 +8116,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { "additionalProperties": false, "properties": { @@ -7558,9 +8162,39 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" }, @@ -7584,6 +8218,9 @@ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" } }, "required": [ @@ -7612,6 +8249,9 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" } }, "type": "object" @@ -7632,6 +8272,45 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { "additionalProperties": false, "properties": { @@ -7681,6 +8360,9 @@ "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" } @@ -7717,6 +8399,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -7725,6 +8419,9 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" } }, "type": "object" @@ -7782,8 +8479,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -7885,6 +8581,9 @@ "AWS::AppMesh::VirtualNode.ClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7903,6 +8602,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -8004,9 +8715,15 @@ "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" }, @@ -8048,6 +8765,9 @@ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" } }, "required": [ @@ -8076,6 +8796,9 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" } }, "type": "object" @@ -8096,6 +8819,45 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -8105,6 +8867,30 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.PortMapping": { "additionalProperties": false, "properties": { @@ -8133,6 +8919,30 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TcpTimeout": { "additionalProperties": false, "properties": { @@ -8145,6 +8955,9 @@ "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" } @@ -8181,6 +8994,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -8189,8 +9014,68 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" } }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], "type": "object" }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { @@ -8220,6 +9105,18 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { @@ -8288,8 +9185,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -10721,6 +11617,9 @@ }, "type": "array" }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, "Logs": { "items": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" @@ -10755,6 +11654,21 @@ ], "type": "object" }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.Log": { "additionalProperties": false, "properties": { @@ -10932,7 +11846,10 @@ "type": "object" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "Type": { "type": "string" @@ -10965,18 +11882,6 @@ ], "type": "object" }, - "AWS::Athena::DataCatalog.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -11097,7 +12002,10 @@ "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "WorkGroupConfiguration": { "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" @@ -11147,6 +12055,18 @@ ], "type": "object" }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Athena::WorkGroup.ResultConfiguration": { "additionalProperties": false, "properties": { @@ -11177,18 +12097,6 @@ }, "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": { @@ -11198,6 +12106,9 @@ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11219,6 +12130,9 @@ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11234,6 +12148,199 @@ }, "type": "object" }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -11657,7 +12764,7 @@ "type": "string" }, "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" }, "PlacementTenancy": { "type": "string" @@ -11750,7 +12857,7 @@ ], "type": "object" }, - "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "AWS::AutoScaling::LaunchConfiguration.MetadataOptions": { "additionalProperties": false, "properties": { "HttpEndpoint": { @@ -12738,6 +13845,12 @@ "type": "string" }, "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "EncryptionKeyArn": { @@ -12882,6 +13995,12 @@ "DesiredvCpus": { "type": "number" }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, "Ec2KeyPair": { "type": "string" }, @@ -12932,15 +14051,27 @@ } }, "required": [ - "InstanceRole", - "InstanceTypes", "MaxvCpus", - "MinvCpus", "Subnets", "Type" ], "type": "object" }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { "additionalProperties": false, "properties": { @@ -13000,6 +14131,15 @@ "Parameters": { "type": "object" }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, @@ -13057,6 +14197,9 @@ "ExecutionRoleArn": { "type": "string" }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, "Image": { "type": "string" }, @@ -13081,6 +14224,9 @@ }, "type": "array" }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, "Privileged": { "type": "boolean" }, @@ -13153,6 +14299,36 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -13219,6 +14395,15 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.NodeProperties": { "additionalProperties": false, "properties": { @@ -13274,6 +14459,12 @@ "properties": { "Attempts": { "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" } }, "type": "object" @@ -13791,6 +14982,12 @@ "properties": { "KeyspaceName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -13865,6 +15062,9 @@ }, "type": "array" }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, "RegularColumns": { "items": { "$ref": "#/definitions/AWS::Cassandra::Table.Column" @@ -13873,6 +15073,12 @@ }, "TableName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14195,6 +15401,9 @@ "Description": { "type": "string" }, + "ImageId": { + "type": "string" + }, "InstanceType": { "type": "string" }, @@ -14294,6 +15503,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Properties": { + "type": "object" + }, "ServiceToken": { "type": "string" } @@ -14399,7 +15611,285 @@ ], "type": "object" }, - "AWS::CloudFormation::Stack": { + "AWS::CloudFormation::ModuleDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ModuleName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14569,6 +16059,10 @@ "type": "string" } }, + "required": [ + "PermissionModel", + "StackSetName" + ], "type": "object" }, "Type": { @@ -14587,7 +16081,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -15180,6 +16675,12 @@ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15320,6 +16821,12 @@ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15696,7 +17203,7 @@ }, "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy": { + "AWS::CloudFront::KeyGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15728,18 +17235,18 @@ "Properties": { "additionalProperties": false, "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" } }, "required": [ - "OriginRequestPolicyConfig" + "KeyGroupConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::OriginRequestPolicy" + "AWS::CloudFront::KeyGroup" ], "type": "string" }, @@ -15758,88 +17265,29 @@ ], "type": "object" }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { "additionalProperties": false, "properties": { - "HeaderBehavior": { + "Comment": { "type": "string" }, - "Headers": { + "Items": { "items": { "type": "string" }, "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" }, "Name": { "type": "string" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" } }, "required": [ - "CookiesConfig", - "HeadersConfig", - "Name", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" + "Items", + "Name" ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig": { + "AWS::CloudFront::OriginRequestPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15871,36 +17319,18 @@ "Properties": { "additionalProperties": false, "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "type": "array" - }, - "Fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SamplingRate": { - "type": "number" + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" } }, "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" + "OriginRequestPolicyConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::RealtimeLogConfig" + "AWS::CloudFront::OriginRequestPolicy" ], "type": "string" }, @@ -15919,39 +17349,285 @@ ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { "additionalProperties": false, "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + "CookieBehavior": { + "type": "string" }, - "StreamType": { + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "KinesisStreamConfig", - "StreamType" + "HeaderBehavior" ], "type": "object" }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { "additionalProperties": false, "properties": { - "RoleArn": { + "Comment": { "type": "string" }, - "StreamArn": { + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" + }, + "Name": { "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" } }, "required": [ - "RoleArn", - "StreamArn" + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" ], "type": "object" }, - "AWS::CloudFront::StreamingDistribution": { + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "type": "array" + }, + "Fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SamplingRate": { + "type": "number" + } + }, + "required": [ + "EndPoints", + "Fields", + "Name", + "SamplingRate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::RealtimeLogConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "additionalProperties": false, + "properties": { + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + }, + "StreamType": { + "type": "string" + } + }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamArn" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -16832,6 +18508,108 @@ "properties": {}, "type": "object" }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, "AWS::CodeArtifact::Domain": { "additionalProperties": false, "properties": { @@ -16867,8 +18645,17 @@ "DomainName": { "type": "string" }, + "EncryptionKey": { + "type": "string" + }, "PermissionsPolicyDocument": { "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -16932,6 +18719,12 @@ "Description": { "type": "string" }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, "ExternalConnections": { "items": { "type": "string" @@ -16944,6 +18737,12 @@ "RepositoryName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Upstreams": { "items": { "type": "string" @@ -16952,6 +18751,7 @@ } }, "required": [ + "DomainName", "RepositoryName" ], "type": "object" @@ -17021,6 +18821,9 @@ "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, + "ConcurrentBuildLimit": { + "type": "number" + }, "Description": { "type": "string" }, @@ -17610,6 +19413,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "EncryptionDisabled": { "type": "boolean" }, @@ -18498,6 +20304,12 @@ "Owner": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -19137,6 +20949,9 @@ "Code": { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" }, + "ConnectionArn": { + "type": "string" + }, "EnableIssues": { "type": "boolean" }, @@ -19157,7 +20972,6 @@ } }, "required": [ - "RepositoryAccessToken", "RepositoryName", "RepositoryOwner" ], @@ -19828,6 +21642,30 @@ }, "type": "object" }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cognito::UserPool.DeviceConfiguration": { "additionalProperties": false, "properties": { @@ -19882,12 +21720,21 @@ "CreateAuthChallenge": { "type": "string" }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, "CustomMessage": { "type": "string" }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, "DefineAuthChallenge": { "type": "string" }, + "KMSKeyID": { + "type": "string" + }, "PostAuthentication": { "type": "string" }, @@ -20205,6 +22052,9 @@ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -22016,6 +23866,81 @@ }, "type": "object" }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DAX::Cluster": { "additionalProperties": false, "properties": { @@ -22309,6 +24234,12 @@ }, "State": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -22333,6 +24264,25 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { @@ -22345,6 +24295,9 @@ "IntervalUnit": { "type": "string" }, + "Location": { + "type": "string" + }, "Times": { "items": { "type": "string" @@ -22354,6 +24307,25 @@ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -22385,13 +24357,67 @@ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" }, + "Target": { + "type": "string" + }, "TargetRegion": { "type": "string" } }, "required": [ - "Encrypted", - "TargetRegion" + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CmkArn": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + } + }, + "required": [ + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventParameters": { + "additionalProperties": false, + "properties": { + "DescriptionRegex": { + "type": "string" + }, + "EventType": { + "type": "string" + }, + "SnapshotOwner": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "EventType", + "SnapshotOwner" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventSource": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" ], "type": "object" }, @@ -22431,12 +24457,27 @@ "AWS::DLM::LifecyclePolicy.PolicyDetails": { "additionalProperties": false, "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, "PolicyType": { "type": "string" }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, "ResourceTypes": { "items": { "type": "string" @@ -22456,11 +24497,6 @@ "type": "array" } }, - "required": [ - "ResourceTypes", - "Schedules", - "TargetTags" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.RetainRule": { @@ -22502,6 +24538,12 @@ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule" }, + "ShareRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" + }, + "type": "array" + }, "TagsToAdd": { "items": { "$ref": "#/definitions/Tag" @@ -22517,6 +24559,24 @@ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.ShareRule": { + "additionalProperties": false, + "properties": { + "TargetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UnshareInterval": { + "type": "number" + }, + "UnshareIntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -22619,6 +24679,9 @@ "DatabaseName": { "type": "string" }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, "DynamoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" }, @@ -22637,6 +24700,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, "KafkaSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" }, @@ -22646,18 +24712,33 @@ "KmsKeyId": { "type": "string" }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, "NeptuneSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, "Password": { "type": "string" }, "Port": { "type": "number" }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -22667,6 +24748,9 @@ "SslMode": { "type": "string" }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22704,6 +24788,18 @@ ], "type": "object" }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.DynamoDbSettings": { "additionalProperties": false, "properties": { @@ -22731,6 +24827,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KafkaSettings": { "additionalProperties": false, "properties": { @@ -22758,6 +24866,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.MongoDbSettings": { "additionalProperties": false, "properties": { @@ -22788,6 +24908,12 @@ "Port": { "type": "number" }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, "ServerName": { "type": "string" }, @@ -22797,6 +24923,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.NeptuneSettings": { "additionalProperties": false, "properties": { @@ -22824,6 +24962,48 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -22851,6 +25031,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::EventSubscription": { "additionalProperties": false, "properties": { @@ -23227,7 +25419,7 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline": { + "AWS::DataBrew::Dataset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23259,49 +25451,149 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { + "Format": { "type": "string" }, + "FormatOptions": { + "type": "object" + }, + "Input": { + "type": "object" + }, "Name": { "type": "string" }, - "ParameterObjects": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + "$ref": "#/definitions/Tag" }, "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "ParameterValues": { + { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" }, - "PipelineObjects": { + "EncryptionKeyArn": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, + "JobSample": { + "type": "object" + }, + "LogSubscription": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "type": "object" + }, + "Outputs": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + "$ref": "#/definitions/AWS::DataBrew::Job.Output" }, "type": "array" }, - "PipelineTags": { + "ProjectName": { + "type": "string" + }, + "Recipe": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" } }, "required": [ "Name", - "ParameterObjects" + "RoleArn", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::DataBrew::Job" ], "type": "string" }, @@ -23320,169 +25612,70 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline.Field": { + "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { + "Delimiter": { "type": "string" } }, - "required": [ - "Key" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { - "Key": { + "CompressionFormat": { "type": "string" }, - "StringValue": { + "Format": { "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + "type": "string" }, "type": "array" - }, - "Id": { - "type": "string" } }, "required": [ - "Attributes", - "Id" + "Location" ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterValue": { + "AWS::DataBrew::Job.OutputFormatOptions": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" } }, - "required": [ - "Id", - "StringValue" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.PipelineObject": { + "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { + "Bucket": { "type": "string" }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { "Key": { "type": "string" - }, - "Value": { - "type": "string" } }, "required": [ - "Key", - "Value" + "Bucket" ], "type": "object" }, - "AWS::Detective::Graph": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { + "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23514,29 +25707,39 @@ "Properties": { "additionalProperties": false, "properties": { - "GraphArn": { + "DatasetName": { "type": "string" }, - "MemberEmailAddress": { + "Name": { "type": "string" }, - "MemberId": { + "RecipeName": { "type": "string" }, - "Message": { + "RoleArn": { "type": "string" + }, + "Sample": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" + "DatasetName", + "Name", + "RecipeName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::DataBrew::Project" ], "type": "string" }, @@ -23555,7 +25758,7 @@ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::DataBrew::Recipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23587,38 +25790,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { + "Description": { "type": "string" }, - "EnableSso": { - "type": "boolean" - }, "Name": { "type": "string" }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ "Name", - "Password", - "VpcSettings" + "Steps" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::DataBrew::Recipe" ], "type": "string" }, @@ -23637,131 +25836,422 @@ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "AWS::DataBrew::Recipe.Action": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Operation": { + "type": "string" }, - "VpcId": { + "Parameters": { + "type": "object" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.ConditionExpression": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Condition", + "TargetColumn" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CatalogId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DatabaseName": { + "type": "string" }, - "Metadata": { + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" - } + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" }, - "required": [ - "Name", - "Password", - "Size", - "VpcSettings" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::DirectoryService::SimpleAD" - ], + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceColumn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { + "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { + "AWS::DataBrew::Recipe.RecipeStep": { "additionalProperties": false, "properties": { - "SubnetIds": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" }, "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" }, - "VpcId": { + "Key": { "type": "string" } }, "required": [ - "SubnetIds", - "VpcId" + "Bucket" ], "type": "object" }, - "AWS::DocDB::DBCluster": { + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23793,82 +26283,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { + "CronExpression": { "type": "string" }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { + "JobNames": { "items": { "type": "string" }, "type": "array" }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { + "Name": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "MasterUserPassword", - "MasterUsername" + "CronExpression", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBCluster" + "AWS::DataBrew::Schedule" ], "type": "string" }, @@ -23887,7 +26329,7 @@ ], "type": "object" }, - "AWS::DocDB::DBClusterParameterGroup": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23919,35 +26361,49 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "Activate": { + "type": "boolean" }, - "Family": { + "Description": { "type": "string" }, "Name": { "type": "string" }, - "Parameters": { - "type": "object" + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "type": "array" }, - "Tags": { + "ParameterValues": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "type": "array" + }, + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" }, "type": "array" } }, "required": [ - "Description", - "Family", - "Parameters" + "Name", + "ParameterObjects" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBClusterParameterGroup" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -23966,7 +26422,115 @@ ], "type": "object" }, - "AWS::DocDB::DBInstance": { + "AWS::DataPipeline::Pipeline.Field": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23998,40 +26562,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { + "ActivationKey": { "type": "string" }, - "DBInstanceClass": { + "AgentName": { "type": "string" }, - "DBInstanceIdentifier": { - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "PreferredMaintenanceWindow": { - "type": "string" + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcEndpointId": { + "type": "string" } }, "required": [ - "DBClusterIdentifier", - "DBInstanceClass" + "ActivationKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBInstance" + "AWS::DataSync::Agent" ], "type": "string" }, @@ -24050,7 +26616,7 @@ ], "type": "object" }, - "AWS::DocDB::DBSubnetGroup": { + "AWS::DataSync::LocationEFS": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24082,17 +26648,14 @@ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { - "type": "string" + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" }, - "DBSubnetGroupName": { + "EfsFilesystemArn": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Subdirectory": { + "type": "string" }, "Tags": { "items": { @@ -24102,14 +26665,14 @@ } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "Ec2Config", + "EfsFilesystemArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBSubnetGroup" + "AWS::DataSync::LocationEFS" ], "type": "string" }, @@ -24128,7 +26691,26 @@ ], "type": "object" }, - "AWS::DynamoDB::Table": { + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24160,46 +26742,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { + "Domain": { "type": "string" }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" + "FsxFilesystemArn": { + "type": "string" }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" + "Password": { + "type": "string" }, - "LocalSecondaryIndexes": { + "SecurityGroupArns": { "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + "type": "string" }, "type": "array" }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" - }, - "TableName": { + "Subdirectory": { "type": "string" }, "Tags": { @@ -24208,18 +26766,21 @@ }, "type": "array" }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" + "User": { + "type": "string" } }, "required": [ - "KeySchema" + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Table" + "AWS::DataSync::LocationFSxWindows" ], "type": "string" }, @@ -24238,174 +26799,110 @@ ], "type": "object" }, - "AWS::DynamoDB::Table.AttributeDefinition": { + "AWS::DataSync::LocationNFS": { "additionalProperties": false, "properties": { - "AttributeName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + "Properties": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" + }, + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "OnPremConfig", + "ServerHostname", + "Subdirectory" + ], + "type": "object" }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { + "Type": { + "enum": [ + "AWS::DataSync::LocationNFS" + ], "type": "string" }, - "KeyType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AttributeName", - "KeyType" + "Type", + "Properties" ], "type": "object" }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "AWS::DataSync::LocationNFS.MountOptions": { "additionalProperties": false, "properties": { - "IndexName": { + "Version": { "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::DynamoDB::Table.Projection": { + "AWS::DataSync::LocationNFS.OnPremConfig": { "additionalProperties": false, "properties": { - "NonKeyAttributes": { + "AgentArns": { "items": { "type": "string" }, "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "required": [ - "AttributeName", - "Enabled" + "AgentArns" ], "type": "object" }, - "AWS::EC2::CapacityReservation": { + "AWS::DataSync::LocationObjectStorage": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24437,54 +26934,50 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AccessKey": { "type": "string" }, - "EbsOptimized": { - "type": "boolean" + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EndDate": { + "BucketName": { "type": "string" }, - "EndDateType": { + "SecretKey": { "type": "string" }, - "EphemeralStorage": { - "type": "boolean" + "ServerHostname": { + "type": "string" }, - "InstanceCount": { + "ServerPort": { "type": "number" }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { + "ServerProtocol": { "type": "string" }, - "InstanceType": { + "Subdirectory": { "type": "string" }, - "TagSpecifications": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Tenancy": { - "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" + "AgentArns", + "BucketName", + "ServerHostname" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::DataSync::LocationObjectStorage" ], "type": "string" }, @@ -24503,22 +26996,7 @@ ], "type": "object" }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { + "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24550,21 +27028,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + "S3BucketArn": { + "type": "string" }, - "VpcId": { + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "VpcId" + "S3BucketArn", + "S3Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::DataSync::LocationS3" ], "type": "string" }, @@ -24583,19 +27074,19 @@ ], "type": "object" }, - "AWS::EC2::CarrierGateway.Tags": { + "AWS::DataSync::LocationS3.S3Config": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "BucketAccessRoleArn": { + "type": "string" } }, + "required": [ + "BucketAccessRoleArn" + ], "type": "object" }, - "AWS::EC2::ClientVpnAuthorizationRule": { + "AWS::DataSync::LocationSMB": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24627,31 +27118,49 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessGroupId": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { "type": "string" }, - "AuthorizeAllGroups": { - "type": "boolean" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" }, - "ClientVpnEndpointId": { + "Password": { "type": "string" }, - "Description": { + "ServerHostname": { "type": "string" }, - "TargetNetworkCidr": { + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::DataSync::LocationSMB" ], "type": "string" }, @@ -24670,7 +27179,16 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint": { + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24702,69 +27220,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "type": "array" - }, - "ClientCidrBlock": { + "CloudWatchLogGroupArn": { "type": "string" }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" - }, - "Description": { + "DestinationLocationArn": { "type": "string" }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { + "Excludes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" }, "type": "array" }, - "SelfServicePortal": { + "Name": { "type": "string" }, - "ServerCertificateArn": { - "type": "string" + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" }, - "SplitTunnel": { - "type": "boolean" + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" }, - "TagSpecifications": { + "SourceLocationArn": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" } }, "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" + "DestinationLocationArn", + "SourceLocationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::DataSync::Task" ], "type": "string" }, @@ -24783,104 +27278,76 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "AWS::DataSync::Task.FilterRule": { "additionalProperties": false, "properties": { - "ClientRootCertificateChainArn": { + "FilterType": { + "type": "string" + }, + "Value": { "type": "string" } }, - "required": [ - "ClientRootCertificateChainArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + "Atime": { + "type": "string" }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + "BytesPerSecond": { + "type": "number" }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + "Gid": { + "type": "string" }, - "Type": { + "LogLevel": { "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { + }, + "Mtime": { "type": "string" }, - "CloudwatchLogStream": { + "OverwriteMode": { "type": "string" }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { + "PosixPermissions": { "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { + }, + "PreserveDeletedFiles": { "type": "string" }, - "SelfServiceSAMLProviderArn": { + "PreserveDevices": { + "type": "string" + }, + "TaskQueueing": { + "type": "string" + }, + "TransferMode": { + "type": "string" + }, + "Uid": { + "type": "string" + }, + "VerifyMode": { "type": "string" } }, - "required": [ - "SAMLProviderArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { - "ResourceType": { + "ScheduleExpression": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ResourceType", - "Tags" + "ScheduleExpression" ], "type": "object" }, - "AWS::EC2::ClientVpnRoute": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24911,30 +27378,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::Detective::Graph" ], "type": "string" }, @@ -24948,12 +27397,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24985,22 +27433,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientVpnEndpointId": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { "type": "string" }, - "SubnetId": { + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "SubnetId" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::Detective::MemberInvitation" ], "type": "string" }, @@ -25019,7 +27477,7 @@ ], "type": "object" }, - "AWS::EC2::CustomerGateway": { + "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25051,32 +27509,18 @@ "Properties": { "additionalProperties": false, "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" } }, "required": [ - "BgpAsn", - "IpAddress", - "Type" + "Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::DevOpsGuru::NotificationChannel" ], "type": "string" }, @@ -25095,7 +27539,25 @@ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25127,42 +27589,18 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" } }, + "required": [ + "ResourceCollectionFilter" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::DevOpsGuru::ResourceCollection" ], "type": "string" }, @@ -25176,11 +27614,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EC2Fleet": { + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25212,55 +27672,38 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcessCapacityTerminationPolicy": { - "type": "string" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" - }, - "type": "array" - }, - "OnDemandOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" - }, - "ReplaceUnhealthyInstances": { + "CreateAlias": { "type": "boolean" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" - }, - "type": "array" - }, - "TargetCapacitySpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" + "Edition": { + "type": "string" }, - "TerminateInstancesWithExpiration": { + "EnableSso": { "type": "boolean" }, - "Type": { + "Name": { "type": "string" }, - "ValidFrom": { + "Password": { "type": "string" }, - "ValidUntil": { + "ShortName": { "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" } }, "required": [ - "LaunchTemplateConfigs", - "TargetCapacitySpecification" + "Name", + "Password", + "VpcSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::DirectoryService::MicrosoftAD" ], "type": "string" }, @@ -25279,190 +27722,26 @@ ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "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.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { + "VpcId": { "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" } }, "required": [ - "TotalTargetCapacity" + "SubnetIds", + "VpcId" ], "type": "object" }, - "AWS::EC2::EIP": { + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25494,27 +27773,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Domain": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { "type": "string" }, - "InstanceId": { + "EnableSso": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "PublicIpv4Pool": { + "Password": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" } }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EIP" + "AWS::DirectoryService::SimpleAD" ], "type": "string" }, @@ -25528,11 +27822,31 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EIPAssociation": { + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25564,88 +27878,82 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { "type": "string" }, - "EIP": { + "DBClusterParameterGroupName": { "type": "string" }, - "InstanceId": { + "DBSubnetGroupName": { "type": "string" }, - "NetworkInterfaceId": { + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { "type": "string" }, - "PrivateIpAddress": { + "KmsKeyId": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "MasterUserPassword": { "type": "string" }, - { + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } }, "required": [ - "VpcId" + "MasterUserPassword", + "MasterUsername" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" + "AWS::DocDB::DBCluster" ], "type": "string" }, @@ -25664,7 +27972,7 @@ ], "type": "object" }, - "AWS::EC2::FlowLog": { + "AWS::DocDB::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25696,50 +28004,35 @@ "Properties": { "additionalProperties": false, "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { + "Description": { "type": "string" }, - "LogGroupName": { + "Family": { "type": "string" }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { + "Name": { "type": "string" }, - "ResourceType": { - "type": "string" + "Parameters": { + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrafficType": { - "type": "string" } }, "required": [ - "ResourceId", - "ResourceType", - "TrafficType" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::FlowLog" + "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" }, @@ -25758,7 +28051,7 @@ ], "type": "object" }, - "AWS::EC2::GatewayRouteTableAssociation": { + "AWS::DocDB::DBInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25790,22 +28083,40 @@ "Properties": { "additionalProperties": false, "properties": { - "GatewayId": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "RouteTableId": { + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GatewayId", - "RouteTableId" + "DBClusterIdentifier", + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" + "AWS::DocDB::DBInstance" ], "type": "string" }, @@ -25824,7 +28135,7 @@ ], "type": "object" }, - "AWS::EC2::Host": { + "AWS::DocDB::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25856,28 +28167,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoPlacement": { + "DBSubnetGroupDescription": { "type": "string" }, - "AvailabilityZone": { + "DBSubnetGroupName": { "type": "string" }, - "HostRecovery": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "InstanceType": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Host" + "AWS::DocDB::DBSubnetGroup" ], "type": "string" }, @@ -25896,12 +28213,9 @@ ], "type": "object" }, - "AWS::EC2::Instance": { + "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { - "CreationPolicy": { - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -25931,130 +28245,49 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { + "AttributeDefinitions": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" }, "type": "array" }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { + "BillingMode": { "type": "string" }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "GlobalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" }, "type": "array" }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { + "KeySchema": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" }, "type": "array" }, - "Monitoring": { - "type": "boolean" + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" }, - "NetworkInterfaces": { + "LocalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" }, "type": "array" }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, - "SourceDestCheck": { - "type": "boolean" + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" }, - "SubnetId": { + "TableName": { "type": "string" }, "Tags": { @@ -26063,24 +28296,18 @@ }, "type": "array" }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" } }, + "required": [ + "KeySchema" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Instance" + "AWS::DynamoDB::Table" ], "type": "string" }, @@ -26094,286 +28321,304 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.AssociationParameter": { + "AWS::DynamoDB::Table.AttributeDefinition": { "additionalProperties": false, "properties": { - "Key": { + "AttributeName": { "type": "string" }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" + "AttributeType": { + "type": "string" } }, "required": [ - "Key", - "Value" + "AttributeName", + "AttributeType" ], "type": "object" }, - "AWS::EC2::Instance.BlockDeviceMapping": { + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeviceName": { + "IndexName": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" }, - "VirtualName": { - "type": "string" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" } }, "required": [ - "DeviceName" + "IndexName", + "KeySchema", + "Projection" ], "type": "object" }, - "AWS::EC2::Instance.CpuOptions": { + "AWS::DynamoDB::Table.KeySchema": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "AttributeName": { + "type": "string" }, - "ThreadsPerCore": { - "type": "number" + "KeyType": { + "type": "string" } }, + "required": [ + "AttributeName", + "KeyType" + ], "type": "object" }, - "AWS::EC2::Instance.CreditSpecification": { + "AWS::DynamoDB::Table.KinesisStreamSpecification": { "additionalProperties": false, "properties": { - "CPUCredits": { + "StreamArn": { "type": "string" } }, + "required": [ + "StreamArn" + ], "type": "object" }, - "AWS::EC2::Instance.Ebs": { + "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { + "IndexName": { "type": "string" }, - "VolumeSize": { - "type": "number" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "VolumeType": { - "type": "string" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" } }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], "type": "object" }, - "AWS::EC2::Instance.ElasticGpuSpecification": { + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "PointInTimeRecoveryEnabled": { + "type": "boolean" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "AWS::DynamoDB::Table.Projection": { "additionalProperties": false, "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::Instance.InstanceIpv6Address": { + "AWS::DynamoDB::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { - "Ipv6Address": { - "type": "string" + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" } }, "required": [ - "Ipv6Address" + "ReadCapacityUnits", + "WriteCapacityUnits" ], "type": "object" }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { + "AWS::DynamoDB::Table.SSESpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { + "KMSMasterKeyId": { "type": "string" }, - "LaunchTemplateName": { - "type": "string" + "SSEEnabled": { + "type": "boolean" }, - "Version": { + "SSEType": { "type": "string" } }, "required": [ - "Version" + "SSEEnabled" ], "type": "object" }, - "AWS::EC2::Instance.LicenseSpecification": { + "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { - "LicenseConfigurationArn": { + "StreamViewType": { "type": "string" } }, "required": [ - "LicenseConfigurationArn" + "StreamViewType" ], "type": "object" }, - "AWS::EC2::Instance.NetworkInterface": { + "AWS::DynamoDB::Table.TimeToLiveSpecification": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { + "AttributeName": { "type": "string" }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { + "Enabled": { "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" } }, "required": [ - "Primary", - "PrivateIpAddress" + "AttributeName", + "Enabled" ], "type": "object" }, - "AWS::EC2::Instance.SsmAssociation": { + "AWS::EC2::CapacityReservation": { "additionalProperties": false, "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } }, - "type": "array" + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" }, - "DocumentName": { + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DocumentName" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.Volume": { + "AWS::EC2::CapacityReservation.TagSpecification": { "additionalProperties": false, "properties": { - "Device": { + "ResourceType": { "type": "string" }, - "VolumeId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Device", - "VolumeId" - ], "type": "object" }, - "AWS::EC2::InternetGateway": { + "AWS::EC2::CarrierGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26410,13 +28655,19 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcId": { + "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InternetGateway" + "AWS::EC2::CarrierGateway" ], "type": "string" }, @@ -26430,11 +28681,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate": { + "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26466,18 +28718,31 @@ "Properties": { "additionalProperties": false, "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + "AccessGroupId": { + "type": "string" }, - "LaunchTemplateName": { + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { "type": "string" } }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" }, @@ -26491,442 +28756,248 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "AWS::EC2::ClientVpnEndpoint": { "additionalProperties": false, "properties": { - "DeviceName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoDevice": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], "type": "string" }, - "VirtualName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { + "ClientRootCertificateChainArn": { "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, + "required": [ + "ClientRootCertificateChainArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationId": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CpuOptions": { + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { + "LambdaFunctionArn": { "type": "string" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ebs": { + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { + "CloudwatchLogGroup": { "type": "string" }, - "SnapshotId": { + "CloudwatchLogStream": { "type": "string" }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "Enabled": { + "type": "boolean" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { "additionalProperties": false, "properties": { - "Type": { + "DirectoryId": { "type": "string" } }, + "required": [ + "DirectoryId" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { "additionalProperties": false, "properties": { - "Arn": { + "SAMLProviderArn": { "type": "string" }, - "Name": { + "SelfServiceSAMLProviderArn": { "type": "string" } }, + "required": [ + "SAMLProviderArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { - "MarketType": { + "ResourceType": { "type": "string" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceType", + "Tags" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { + "AWS::EC2::ClientVpnRoute": { "additionalProperties": false, "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -26950,26 +29021,29 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "ClientVpnEndpointId": { "type": "string" }, - "LocalGatewayRouteTableId": { + "Description": { "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { "type": "string" } }, "required": [ + "ClientVpnEndpointId", "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" + "TargetVpcSubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::EC2::ClientVpnRoute" ], "type": "string" }, @@ -26988,7 +29062,7 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "AWS::EC2::ClientVpnTargetNetworkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27020,25 +29094,22 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayRouteTableId": { + "ClientVpnEndpointId": { "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags" - }, - "VpcId": { + "SubnetId": { "type": "string" } }, "required": [ - "LocalGatewayRouteTableId", - "VpcId" + "ClientVpnEndpointId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" }, @@ -27057,19 +29128,7 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NatGateway": { + "AWS::EC2::CustomerGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27101,10 +29160,10 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { - "type": "string" + "BgpAsn": { + "type": "number" }, - "SubnetId": { + "IpAddress": { "type": "string" }, "Tags": { @@ -27112,17 +29171,21 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "AllocationId", - "SubnetId" + "BgpAsn", + "IpAddress", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NatGateway" + "AWS::EC2::CustomerGateway" ], "type": "string" }, @@ -27141,7 +29204,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkAcl": { + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27173,24 +29236,42 @@ "Properties": { "additionalProperties": false, "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpcId": { - "type": "string" } }, - "required": [ - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::EC2::DHCPOptions" ], "type": "string" }, @@ -27204,12 +29285,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkAclEntry": { + "AWS::EC2::EC2Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27241,45 +29321,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { + "ExcessCapacityTerminationPolicy": { "type": "string" }, - "Egress": { + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" + }, + "type": "array" + }, + "OnDemandOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { "type": "boolean" }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" }, - "Ipv6CidrBlock": { - "type": "string" + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + }, + "type": "array" }, - "NetworkAclId": { - "type": "string" + "TargetCapacitySpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + "TerminateInstancesWithExpiration": { + "type": "boolean" }, - "Protocol": { - "type": "number" + "Type": { + "type": "string" }, - "RuleAction": { + "ValidFrom": { "type": "string" }, - "RuleNumber": { - "type": "number" + "ValidUntil": { + "type": "string" } }, "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" + "LaunchTemplateConfigs", + "TargetCapacitySpecification" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::EC2::EC2Fleet" ], "type": "string" }, @@ -27298,163 +29388,190 @@ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry.Icmp": { + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { "additionalProperties": false, "properties": { - "Code": { - "type": "number" + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" }, - "Type": { - "type": "number" + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" } }, "type": "object" }, - "AWS::EC2::NetworkAclEntry.PortRange": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { "additionalProperties": false, "properties": { - "From": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { "type": "number" }, - "To": { + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInterface": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LaunchTemplateId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LaunchTemplateName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], + "MaxTotalPrice": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Primary": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { "type": "boolean" }, - "PrivateIpAddress": { + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" } }, "required": [ - "Primary", - "PrivateIpAddress" + "TotalTargetCapacity" ], "type": "object" }, - "AWS::EC2::NetworkInterfaceAttachment": { + "AWS::EC2::EIP": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27486,29 +29603,27 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { + "Domain": { "type": "string" }, "InstanceId": { "type": "string" }, - "NetworkInterfaceId": { + "PublicIpv4Pool": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::EC2::EIP" ], "type": "string" }, @@ -27522,12 +29637,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInterfacePermission": { + "AWS::EC2::EIPAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27559,26 +29673,27 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { "type": "string" }, "NetworkInterfaceId": { "type": "string" }, - "Permission": { + "PrivateIpAddress": { "type": "string" } }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::EC2::EIPAssociation" ], "type": "string" }, @@ -27592,12 +29707,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::PlacementGroup": { + "AWS::EC2::EgressOnlyInternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27629,15 +29743,18 @@ "Properties": { "additionalProperties": false, "properties": { - "Strategy": { + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" }, @@ -27651,11 +29768,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::PrefixList": { + "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27687,19 +29805,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { + "DeliverLogsPermissionArn": { "type": "string" }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" + "LogDestination": { + "type": "string" }, - "MaxEntries": { + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { "type": "number" }, - "PrefixListName": { + "ResourceId": { + "type": "string" + }, + "ResourceType": { "type": "string" }, "Tags": { @@ -27707,18 +29834,21 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficType": { + "type": "string" } }, "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" + "ResourceId", + "ResourceType", + "TrafficType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PrefixList" + "AWS::EC2::FlowLog" ], "type": "string" }, @@ -27737,22 +29867,7 @@ ], "type": "object" }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { + "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27784,54 +29899,22 @@ "Properties": { "additionalProperties": false, "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, "GatewayId": { "type": "string" }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, "RouteTableId": { "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" } }, "required": [ + "GatewayId", "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Route" + "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" }, @@ -27850,7 +29933,7 @@ ], "type": "object" }, - "AWS::EC2::RouteTable": { + "AWS::EC2::Host": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27882,24 +29965,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "AutoPlacement": { + "type": "string" }, - "VpcId": { + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { "type": "string" } }, "required": [ - "VpcId" + "AvailabilityZone", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteTable" + "AWS::EC2::Host" ], "type": "string" }, @@ -27918,9 +30005,12 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroup": { + "AWS::EC2::Instance": { "additionalProperties": false, "properties": { + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -27950,42 +30040,159 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupDescription": { + "AdditionalInfo": { "type": "string" }, - "GroupName": { + "Affinity": { "type": "string" }, - "SecurityGroupEgress": { + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" }, "type": "array" }, - "SecurityGroupIngress": { + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" }, "type": "array" }, + "SubnetId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcId": { + "Tenancy": { "type": "string" + }, + "UserData": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" } }, - "required": [ - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::EC2::Instance" ], "type": "string" }, @@ -27999,171 +30206,295 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Egress": { + "AWS::EC2::Instance.AssociationParameter": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { + "Key": { "type": "string" }, - "ToPort": { - "type": "number" + "Value": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "IpProtocol" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Ingress": { + "AWS::EC2::Instance.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "CidrIp": { + "DeviceName": { "type": "string" }, - "CidrIpv6": { + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + }, + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" }, - "Description": { + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" }, - "FromPort": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { "type": "number" }, - "IpProtocol": { + "KmsKeyId": { "type": "string" }, - "SourcePrefixListId": { + "SnapshotId": { "type": "string" }, - "SourceSecurityGroupId": { + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" }, - "SourceSecurityGroupName": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { "type": "string" }, - "SourceSecurityGroupOwnerId": { + "LaunchTemplateName": { "type": "string" }, - "ToPort": { - "type": "number" + "Version": { + "type": "string" } }, "required": [ - "IpProtocol" + "Version" ], "type": "object" }, - "AWS::EC2::SecurityGroupEgress": { + "AWS::EC2::Instance.LicenseSpecification": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LicenseConfigurationArn": { "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeleteOnTermination": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DeviceIndex" ], "type": "object" }, - "AWS::EC2::SecurityGroupIngress": { + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28195,51 +30526,18 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "IpProtocol" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::EC2::InternetGateway" ], "type": "string" }, @@ -28253,12 +30551,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet": { + "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28290,18 +30587,18 @@ "Properties": { "additionalProperties": false, "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" } }, - "required": [ - "SpotFleetRequestConfigData" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SpotFleet" + "AWS::EC2::LaunchTemplate" ], "type": "string" }, @@ -28315,19 +30612,18 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { "additionalProperties": false, "properties": { "DeviceName": { "type": "string" }, "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" }, "NoDevice": { "type": "string" @@ -28336,39 +30632,54 @@ "type": "string" } }, - "required": [ - "DeviceName" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { - "Name": { + "CapacityReservationPreference": { "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { "additionalProperties": false, "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" } }, - "required": [ - "ClassicLoadBalancers" - ], "type": "object" }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { "additionalProperties": false, "properties": { "DeleteOnTermination": { @@ -28380,9 +30691,15 @@ "Iops": { "type": "number" }, + "KmsKeyId": { + "type": "string" + }, "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -28392,366 +30709,361 @@ }, "type": "object" }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Version" - ], "type": "object" }, - "AWS::EC2::SpotFleet.GroupIdentifier": { + "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { - "GroupId": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "GroupId" - ], "type": "object" }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "Name": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { "additionalProperties": false, "properties": { "Ipv6Address": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" }, - "DeleteOnTermination": { - "type": "boolean" + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" }, - "Description": { - "type": "string" + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" }, - "DeviceIndex": { - "type": "number" + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" }, - "Groups": { + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" }, "type": "array" }, - "Ipv6AddressCount": { - "type": "number" + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" + }, + "type": "array" }, - "Ipv6Addresses": { + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" }, "type": "array" }, - "NetworkInterfaceId": { + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { "type": "string" }, - "PrivateIpAddresses": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + "type": "string" }, "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "type": "number" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "SubnetId": { + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + "Count": { + "type": "number" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "AWS::EC2::LaunchTemplate.LicenseSpecification": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { + "LicenseConfigurationArn": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.MetadataOptions": { "additionalProperties": false, "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + "HttpEndpoint": { + "type": "string" }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "AWS::EC2::LaunchTemplate.Monitoring": { "additionalProperties": false, "properties": { - "Primary": { + "Enabled": { "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" } }, - "required": [ - "PrivateIpAddress" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "AWS::EC2::LaunchTemplate.NetworkInterface": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { + "AssociateCarrierIpAddress": { "type": "boolean" }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "AssociatePublicIpAddress": { + "type": "boolean" }, - "KernelId": { - "type": "string" + "DeleteOnTermination": { + "type": "boolean" }, - "KeyName": { + "Description": { "type": "string" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + "DeviceIndex": { + "type": "number" }, - "NetworkInterfaces": { + "Groups": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + "type": "string" }, "type": "array" }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { + "InterfaceType": { "type": "string" }, - "SecurityGroups": { + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" }, "type": "array" }, - "SpotPrice": { + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { "type": "string" }, - "SubnetId": { + "PrivateIpAddress": { "type": "string" }, - "TagSpecifications": { + "PrivateIpAddresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" }, "type": "array" }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { + "SecondaryPrivateIpAddressCount": { "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + }, + "SubnetId": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "AWS::EC2::LaunchTemplate.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "ExcessCapacityTerminationPolicy": { + "AvailabilityZone": { "type": "string" }, - "IamFleetRole": { + "GroupName": { "type": "string" }, - "InstanceInterruptionBehavior": { + "HostId": { "type": "string" }, - "LaunchSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" - }, - "type": "array" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" - }, - "type": "array" - }, - "LoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" - }, - "ReplaceUnhealthyInstances": { - "type": "boolean" - }, - "SpotPrice": { + "HostResourceGroupArn": { "type": "string" }, - "TargetCapacity": { + "PartitionNumber": { "type": "number" }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { + "SpreadDomain": { "type": "string" }, - "ValidUntil": { + "Tenancy": { "type": "string" } }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { - "ResourceType": { - "type": "string" + "Primary": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "PrivateIpAddress": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotPlacement": { + "AWS::EC2::LaunchTemplate.SpotOptions": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { "type": "string" }, - "GroupName": { + "MaxPrice": { "type": "string" }, - "Tenancy": { + "SpotInstanceType": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { + }, + "ValidUntil": { "type": "string" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "AWS::EC2::LaunchTemplate.TagSpecification": { "additionalProperties": false, "properties": { - "TargetGroups": { + "ResourceType": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + "$ref": "#/definitions/Tag" }, "type": "array" } }, - "required": [ - "TargetGroups" - ], "type": "object" }, - "AWS::EC2::Subnet": { + "AWS::EC2::LocalGatewayRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28783,43 +31095,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { + "DestinationCidrBlock": { "type": "string" }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { + "LocalGatewayRouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { + "LocalGatewayVirtualInterfaceGroupId": { "type": "string" } }, "required": [ - "CidrBlock", - "VpcId" + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Subnet" + "AWS::EC2::LocalGatewayRoute" ], "type": "string" }, @@ -28838,7 +31133,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetCidrBlock": { + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28870,22 +31165,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Ipv6CidrBlock": { + "LocalGatewayRouteTableId": { "type": "string" }, - "SubnetId": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "Ipv6CidrBlock", - "SubnetId" + "LocalGatewayRouteTableId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" }, @@ -28904,7 +31205,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetNetworkAclAssociation": { + "AWS::EC2::NatGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28936,22 +31237,28 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "AllocationId": { "type": "string" }, "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "NetworkAclId", + "AllocationId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::NatGateway" ], "type": "string" }, @@ -28970,7 +31277,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::NetworkAcl": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29002,22 +31309,24 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "SubnetId": { + "VpcId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::NetworkAcl" ], "type": "string" }, @@ -29036,7 +31345,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilter": { + "AWS::EC2::NetworkAclEntry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29068,27 +31377,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CidrBlock": { "type": "string" }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" + "Egress": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" } }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::EC2::NetworkAclEntry" ], "type": "string" }, @@ -29102,11 +31429,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule": { + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29138,50 +31490,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "TrafficDirection": { + "NetworkInsightsPathId": { "type": "string" }, - "TrafficMirrorFilterId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" + "NetworkInsightsPathId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::EC2::NetworkInsightsAnalysis" ], "type": "string" }, @@ -29200,112 +31532,391 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "ComponentArn": { + "type": "string" }, - "ToPort": { - "type": "number" + "ComponentId": { + "type": "string" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorSession": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Cidr": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Egress": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorTarget": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29337,13 +31948,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Destination": { "type": "string" }, - "NetworkInterfaceId": { + "DestinationIp": { "type": "string" }, - "NetworkLoadBalancerArn": { + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { "type": "string" }, "Tags": { @@ -29353,11 +31973,16 @@ "type": "array" } }, + "required": [ + "Destination", + "Protocol", + "Source" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::EC2::NetworkInsightsPath" ], "type": "string" }, @@ -29371,11 +31996,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGateway": { + "AWS::EC2::NetworkInterface": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29407,25 +32033,43 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "AutoAcceptSharedAttachments": { + "Description": { "type": "string" }, - "DefaultRouteTableAssociation": { - "type": "string" + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" }, - "DefaultRouteTablePropagation": { + "InterfaceType": { "type": "string" }, - "Description": { - "type": "string" + "Ipv6AddressCount": { + "type": "number" }, - "DnsSupport": { + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { "type": "string" }, - "MulticastSupport": { + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { "type": "string" }, "Tags": { @@ -29433,16 +32077,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpnEcmpSupport": { - "type": "string" } }, + "required": [ + "SubnetId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGateway" + "AWS::EC2::NetworkInterface" ], "type": "string" }, @@ -29456,11 +32100,40 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment": { + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29492,35 +32165,29 @@ "Properties": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeleteOnTermination": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "DeviceIndex": { + "type": "string" }, - "TransitGatewayId": { + "InstanceId": { "type": "string" }, - "VpcId": { + "NetworkInterfaceId": { "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" }, @@ -29539,7 +32206,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRoute": { + "AWS::EC2::NetworkInterfacePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29571,27 +32238,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { + "AwsAccountId": { "type": "string" }, - "TransitGatewayAttachmentId": { + "NetworkInterfaceId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Permission": { "type": "string" } }, "required": [ - "TransitGatewayRouteTableId" + "AwsAccountId", + "NetworkInterfaceId", + "Permission" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::EC2::NetworkInterfacePermission" ], "type": "string" }, @@ -29610,7 +32276,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTable": { + "AWS::EC2::PlacementGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29642,24 +32308,15 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { + "Strategy": { "type": "string" } }, - "required": [ - "TransitGatewayId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::EC2::PlacementGroup" ], "type": "string" }, @@ -29673,12 +32330,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::PrefixList": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29710,22 +32366,38 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "AddressFamily": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" + "AddressFamily", + "MaxEntries", + "PrefixListName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::EC2::PrefixList" ], "type": "string" }, @@ -29744,7 +32416,22 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29776,167 +32463,54 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "CarrierGatewayId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "DestinationCidrBlock": { "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "DestinationIpv6CidrBlock": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { + "EgressOnlyInternetGatewayId": { "type": "string" }, - "EnableDnsHostnames": { - "type": "boolean" + "GatewayId": { + "type": "string" }, - "EnableDnsSupport": { - "type": "boolean" + "InstanceId": { + "type": "string" }, - "InstanceTenancy": { + "LocalGatewayId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "NatGatewayId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" + "NetworkInterfaceId": { + "type": "string" }, - "CidrBlock": { + "RouteTableId": { "type": "string" }, - "VpcId": { + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { "type": "string" } }, "required": [ - "VpcId" + "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::EC2::Route" ], "type": "string" }, @@ -29955,7 +32529,7 @@ ], "type": "object" }, - "AWS::EC2::VPCDHCPOptionsAssociation": { + "AWS::EC2::RouteTable": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29987,22 +32561,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DhcpOptionsId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "VpcId": { "type": "string" } }, "required": [ - "DhcpOptionsId", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::EC2::RouteTable" ], "type": "string" }, @@ -30021,7 +32597,7 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpoint": { + "AWS::EC2::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30053,49 +32629,42 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "GroupDescription": { + "type": "string" }, - "PrivateDnsEnabled": { - "type": "boolean" + "GroupName": { + "type": "string" }, - "RouteTableIds": { + "SecurityGroupEgress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" }, "type": "array" }, - "SecurityGroupIds": { + "SecurityGroupIngress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" }, "type": "array" }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcEndpointType": { - "type": "string" - }, "VpcId": { "type": "string" } }, "required": [ - "ServiceName", - "VpcId" + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::EC2::SecurityGroup" ], "type": "string" }, @@ -30114,214 +32683,79 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointConnectionNotification": { + "AWS::EC2::SecurityGroup.Egress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" + "DestinationPrefixListId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], + "DestinationSecurityGroupId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FromPort": { + "type": "number" + }, + "IpProtocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCEndpointService": { + "AWS::EC2::SecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" + "FromPort": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], + "IpProtocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePrefixListId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" + "SourceSecurityGroupId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], + "SourceSecurityGroupName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::SecurityGroupEgress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30353,24 +32787,43 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayId": { + "CidrIp": { "type": "string" }, - "VpcId": { + "CidrIpv6": { "type": "string" }, - "VpnGatewayId": { + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "IpProtocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "VpcId" + "GroupId", + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::EC2::SecurityGroupEgress" ], "type": "string" }, @@ -30389,7 +32842,7 @@ ], "type": "object" }, - "AWS::EC2::VPCPeeringConnection": { + "AWS::EC2::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30421,37 +32874,51 @@ "Properties": { "additionalProperties": false, "properties": { - "PeerOwnerId": { + "CidrIp": { "type": "string" }, - "PeerRegion": { + "CidrIpv6": { "type": "string" }, - "PeerRoleArn": { + "Description": { "type": "string" }, - "PeerVpcId": { + "FromPort": { + "type": "number" + }, + "GroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "GroupName": { + "type": "string" }, - "VpcId": { + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "PeerVpcId", - "VpcId" + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::EC2::SecurityGroupIngress" ], "type": "string" }, @@ -30470,7 +32937,7 @@ ], "type": "object" }, - "AWS::EC2::VPNConnection": { + "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30502,43 +32969,18 @@ "Properties": { "additionalProperties": false, "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" } }, "required": [ - "CustomerGatewayId", - "Type" + "SpotFleetRequestConfigData" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnection" + "AWS::EC2::SpotFleet" ], "type": "string" }, @@ -30557,19 +32999,477 @@ ], "type": "object" }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "AWS::EC2::SpotFleet.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "PreSharedKey": { + "DeviceName": { "type": "string" }, - "TunnelInsideCidr": { + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { "type": "string" } }, + "required": [ + "DeviceName" + ], "type": "object" }, - "AWS::EC2::VPNConnectionRoute": { + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" + }, + "type": "array" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + }, + "type": "array" + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30601,22 +33501,43 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "VpnConnectionId": { + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "DestinationCidrBlock", - "VpnConnectionId" + "CidrBlock", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::EC2::Subnet" ], "type": "string" }, @@ -30635,7 +33556,7 @@ ], "type": "object" }, - "AWS::EC2::VPNGateway": { + "AWS::EC2::SubnetCidrBlock": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30667,27 +33588,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Ipv6CidrBlock": { + "type": "string" }, - "Type": { + "SubnetId": { "type": "string" } }, "required": [ - "Type" + "Ipv6CidrBlock", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGateway" + "AWS::EC2::SubnetCidrBlock" ], "type": "string" }, @@ -30706,7 +33622,7 @@ ], "type": "object" }, - "AWS::EC2::VPNGatewayRoutePropagation": { + "AWS::EC2::SubnetNetworkAclAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30738,25 +33654,22 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpnGatewayId": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { "type": "string" } }, "required": [ - "RouteTableIds", - "VpnGatewayId" + "NetworkAclId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" }, @@ -30775,7 +33688,7 @@ ], "type": "object" }, - "AWS::EC2::Volume": { + "AWS::EC2::SubnetRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30807,51 +33720,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { + "RouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeType": { + "SubnetId": { "type": "string" } }, "required": [ - "AvailabilityZone" + "RouteTableId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Volume" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" }, @@ -30870,7 +33754,7 @@ ], "type": "object" }, - "AWS::EC2::VolumeAttachment": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30902,26 +33786,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Device": { + "Description": { "type": "string" }, - "InstanceId": { - "type": "string" + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" }, - "VolumeId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VolumeAttachment" + "AWS::EC2::TrafficMirrorFilter" ], "type": "string" }, @@ -30935,12 +33820,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::EC2::TrafficMirrorFilterRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30972,33 +33856,50 @@ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { - "type": "object" + "Description": { + "type": "string" }, - "ImageTagMutability": { + "DestinationCidrBlock": { "type": "string" }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, - "RepositoryName": { + "Protocol": { + "type": "number" + }, + "RuleAction": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" + "RuleNumber": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" } }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" }, @@ -31012,23 +33913,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { - "LifecyclePolicyText": { - "type": "string" + "FromPort": { + "type": "number" }, - "RegistryId": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::ECS::CapacityProvider": { + "AWS::EC2::TrafficMirrorSession": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31060,27 +33966,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + "Description": { + "type": "string" }, - "Name": { + "NetworkInterfaceId": { "type": "string" }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" } }, "required": [ - "AutoScalingGroupProvider" + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::EC2::TrafficMirrorSession" ], "type": "string" }, @@ -31099,43 +34023,77 @@ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::EC2::TrafficMirrorTarget": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumScalingStepSize": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "Status": { + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], "type": "string" }, - "TargetCapacity": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::Cluster": { + "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31167,39 +34125,42 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" + "AmazonSideAsn": { + "type": "number" }, - "ClusterName": { + "AutoAcceptSharedAttachments": { "type": "string" }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" + "DefaultRouteTableAssociation": { + "type": "string" }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" + "DefaultRouteTablePropagation": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DnsSupport": { + "type": "string" + }, + "MulticastSupport": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpnEcmpSupport": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Cluster" + "AWS::EC2::TransitGateway" ], "type": "string" }, @@ -31217,34 +34178,7 @@ ], "type": "object" }, - "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": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::EC2::TransitGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31276,26 +34210,35 @@ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Service": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { "type": "string" }, - "TaskSetId": { + "VpcId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskSetId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::EC2::TransitGatewayAttachment" ], "type": "string" }, @@ -31314,7 +34257,7 @@ ], "type": "object" }, - "AWS::ECS::Service": { + "AWS::EC2::TransitGatewayConnect": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31346,77 +34289,8 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" }, "Tags": { "items": { @@ -31424,15 +34298,19 @@ }, "type": "array" }, - "TaskDefinition": { + "TransportTransitGatewayAttachmentId": { "type": "string" } }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::EC2::TransitGatewayConnect" ], "type": "string" }, @@ -31446,143 +34324,507 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.AwsVpcConfiguration": { + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { "additionalProperties": false, "properties": { - "AssignPublicIp": { + "Protocol": { "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { + "AWS::EC2::TransitGatewayMulticastDomain": { "additionalProperties": false, "properties": { - "Base": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CapacityProvider": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], "type": "string" }, - "Weight": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { "additionalProperties": false, "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.LoadBalancer": { + "AWS::EC2::TransitGatewayMulticastGroupMember": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LoadBalancerName": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], "type": "string" }, - "TargetGroupArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.NetworkConfiguration": { + "AWS::EC2::TransitGatewayMulticastGroupSource": { "additionalProperties": false, "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.PlacementConstraint": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { - "Expression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.PlacementStrategy": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { - "Field": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.ServiceRegistry": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Port": { - "type": "number" + "Metadata": { + "type": "object" }, - "RegistryArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition": { + "AWS::EC2::TransitGatewayRouteTablePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31614,75 +34856,99 @@ "Properties": { "additionalProperties": false, "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { + "TransitGatewayAttachmentId": { "type": "string" }, - "ExecutionRoleArn": { + "TransitGatewayRouteTableId": { "type": "string" - }, - "Family": { + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "InferenceAccelerators": { + { "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" - }, - "IpcMode": { + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { "type": "string" }, - "Memory": { - "type": "string" + "EnableDnsHostnames": { + "type": "boolean" }, - "NetworkMode": { - "type": "string" + "EnableDnsSupport": { + "type": "boolean" }, - "PidMode": { + "InstanceTenancy": { "type": "string" }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" } }, + "required": [ + "CidrBlock" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskDefinition" + "AWS::EC2::VPC" ], "type": "string" }, @@ -31696,657 +34962,452 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "AWS::EC2::VPCCidrBlock": { "additionalProperties": false, "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" }, "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { + "Type": { + "enum": [ + "AWS::EC2::VPCCidrBlock" + ], "type": "string" }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.ContainerDependency": { + "AWS::EC2::VPCDHCPOptionsAssociation": { "additionalProperties": false, "properties": { - "Condition": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HostPath": { - "type": "string" + "Metadata": { + "type": "object" }, - "Permissions": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } }, - "type": "array" + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "AWS::EC2::VPCEndpoint": { "additionalProperties": false, "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, + ] + }, + "Metadata": { "type": "object" }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "ServiceName", + "VpcId" + ], "type": "object" }, - "Scope": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "AWS::EC2::VPCEndpointConnectionNotification": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "FilesystemId": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" }, - "RootDirectory": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], "type": "string" }, - "TransitEncryption": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" } }, "required": [ - "FilesystemId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { + "AWS::EC2::VPCEndpointService": { "additionalProperties": false, "properties": { - "Type": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.HealthCheck": { + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" + "Metadata": { + "type": "object" }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { "type": "string" } }, + "required": [ + "ServiceId" + ], "type": "object" }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32378,53 +35439,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { + "InternetGatewayId": { "type": "string" }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { + "VpcId": { "type": "string" }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { + "VpnGatewayId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskDefinition" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskSet" + "AWS::EC2::VPCGatewayAttachment" ], "type": "string" }, @@ -32443,88 +35475,7 @@ ], "type": "object" }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { + "AWS::EC2::VPCPeeringConnection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32556,33 +35507,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" + "PeerOwnerId": { + "type": "string" }, - "ClientToken": { + "PeerRegion": { "type": "string" }, - "FileSystemId": { + "PeerRoleArn": { "type": "string" }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + "PeerVpcId": { + "type": "string" }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" } }, "required": [ - "FileSystemId" + "PeerVpcId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::AccessPoint" + "AWS::EC2::VPCPeeringConnection" ], "type": "string" }, @@ -32601,81 +35556,15 @@ ], "type": "object" }, - "AWS::EFS::AccessPoint.AccessPointTag": { + "AWS::EC2::VPNConnection": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "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": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -32699,45 +35588,43 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + "CustomerGatewayId": { + "type": "string" }, - "Encrypted": { + "StaticRoutesOnly": { "type": "boolean" }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KmsKeyId": { + "TransitGatewayId": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "Type": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { + "VpnGatewayId": { "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" } }, + "required": [ + "CustomerGatewayId", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EC2::VPNConnection" ], "type": "string" }, @@ -32751,51 +35638,24 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { "additionalProperties": false, "properties": { - "Key": { + "PreSharedKey": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { + "TunnelInsideCidr": { "type": "string" } }, - "required": [ - "TransitionToIA" - ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32827,32 +35687,22 @@ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { + "DestinationCidrBlock": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { + "VpnConnectionId": { "type": "string" } }, "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" + "DestinationCidrBlock", + "VpnConnectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::MountTarget" + "AWS::EC2::VPNConnectionRoute" ], "type": "string" }, @@ -32871,7 +35721,7 @@ ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EC2::VPNGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32903,37 +35753,27 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfig": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, "required": [ - "ResourcesVpcConfig", - "RoleArn" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Cluster" + "AWS::EC2::VPNGateway" ], "type": "string" }, @@ -32952,61 +35792,7 @@ ], "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.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { + "AWS::EC2::VPNGatewayRoutePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33038,44 +35824,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { + "RouteTableIds": { "items": { "type": "string" }, "type": "array" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "VpnGatewayId": { + "type": "string" } }, "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" + "RouteTableIds", + "VpnGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::FargateProfile" + "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" }, @@ -33094,41 +35861,7 @@ ], "type": "object" }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { + "AWS::EC2::Volume": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33160,68 +35893,54 @@ "Properties": { "additionalProperties": false, "properties": { - "AmiType": { - "type": "string" + "AutoEnableIO": { + "type": "boolean" }, - "ClusterName": { + "AvailabilityZone": { "type": "string" }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { + "Encrypted": { "type": "boolean" }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + "Iops": { + "type": "number" }, - "NodeRole": { + "KmsKeyId": { "type": "string" }, - "NodegroupName": { - "type": "string" + "MultiAttachEnabled": { + "type": "boolean" }, - "ReleaseVersion": { + "OutpostArn": { "type": "string" }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + "Size": { + "type": "number" }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + "SnapshotId": { + "type": "string" }, - "Subnets": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "type": "object" + "Throughput": { + "type": "number" }, - "Version": { + "VolumeType": { "type": "string" } }, "required": [ - "ClusterName", - "NodeRole", - "Subnets" + "AvailabilityZone" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Nodegroup" + "AWS::EC2::Volume" ], "type": "string" }, @@ -33240,55 +35959,7 @@ ], "type": "object" }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { + "AWS::EC2::VolumeAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33320,99 +35991,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { + "Device": { "type": "string" }, - "SecurityConfiguration": { + "InstanceId": { "type": "string" }, - "ServiceRole": { + "VolumeId": { "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" } }, "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" + "Device", + "InstanceId", + "VolumeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Cluster" + "AWS::EC2::VolumeAttachment" ], "type": "string" }, @@ -33431,412 +36029,542 @@ ], "type": "object" }, - "AWS::EMR::Cluster.Application": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "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" }, - "Args": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "Name": { - "type": "string" + "type": "object" }, - "Version": { + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, "required": [ - "Name", - "ScriptBootstrapAction" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { - "ComparisonOperator": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Namespace": { - "type": "string" + "Metadata": { + "type": "object" }, - "Period": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" }, - "Statistic": { + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], "type": "string" }, - "Threshold": { - "type": "number" - }, - "Unit": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.ComputeLimits": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { - "MaximumCapacityUnits": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MaximumCoreCapacityUnits": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaximumOnDemandCapacityUnits": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumCapacityUnits": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" }, - "UnitType": { + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.Configuration": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { + "Rules": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" }, "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + "Region": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "RegistryId": { + "type": "string" } }, "required": [ - "VolumeSpecification" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::EMR::Cluster.EbsConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { + "Destinations": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" }, "type": "array" - }, - "EbsOptimized": { - "type": "boolean" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { + "AWS::ECR::Repository": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "type": "object" }, - "Jar": { + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], "type": "string" }, - "MainClass": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" } }, "required": [ - "Jar" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceFleetConfig": { + "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { + "LifecyclePolicyText": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + "RegistryId": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::Cluster.InstanceGroupConfig": { + "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InstanceCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "InstanceType": { - "type": "string" + "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" }, - "Market": { + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], "type": "string" }, - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceCount", - "InstanceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceTypeConfig": { + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { "additionalProperties": false, "properties": { - "BidPrice": { + "AutoScalingGroupArn": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" }, - "InstanceType": { + "ManagedTerminationProtection": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "required": [ - "InstanceType" + "AutoScalingGroupArn" ], "type": "object" }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "AWS::ECS::CapacityProvider.ManagedScaling": { "additionalProperties": false, "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + "MaximumScalingStepSize": { + "type": "number" }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + "MinimumScalingStepSize": { + "type": "number" }, - "Ec2KeyName": { + "Status": { "type": "string" }, - "Ec2SubnetId": { + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EmrManagedMasterSecurityGroup": { - "type": "string" + "Metadata": { + "type": "object" }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "HadoopVersion": { + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], "type": "string" }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" - }, - "ServiceAccessSecurityGroup": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TerminationProtected": { - "type": "boolean" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EMR::Cluster.KerberosAttributes": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" + "Base": { + "type": "number" }, - "KdcAdminPassword": { + "CapacityProvider": { "type": "string" }, - "Realm": { - "type": "string" + "Weight": { + "type": "number" } }, - "required": [ - "KdcAdminPassword", - "Realm" - ], "type": "object" }, - "AWS::EMR::Cluster.KeyValue": { + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, "Value": { @@ -33845,218 +36573,364 @@ }, "type": "object" }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "AWS::ECS::Service": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AllocationStrategy" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.PlacementType": { + "AWS::ECS::Service.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AssignPublicIp": { "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AvailabilityZone" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingAction": { + "AWS::ECS::Service.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "Market": { + "Base": { + "type": "number" + }, + "CapacityProvider": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + "Weight": { + "type": "number" } }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingConstraints": { + "AWS::ECS::Service.DeploymentCircuitBreaker": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "type": "number" + "Enable": { + "type": "boolean" }, - "MinCapacity": { - "type": "number" + "Rollback": { + "type": "boolean" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "Enable", + "Rollback" ], "type": "object" }, - "AWS::EMR::Cluster.ScalingRule": { + "AWS::ECS::Service.DeploymentConfiguration": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" }, - "Name": { - "type": "string" + "MaximumPercent": { + "type": "number" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + "MinimumHealthyPercent": { + "type": "number" } }, - "required": [ - "Action", - "Name", - "Trigger" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingTrigger": { + "AWS::ECS::Service.DeploymentController": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + "Type": { + "type": "string" } }, - "required": [ - "CloudWatchAlarmDefinition" - ], "type": "object" }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "AWS::ECS::Service.LoadBalancer": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "ContainerName": { + "type": "string" }, - "Path": { + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { "type": "string" } }, - "required": [ - "Path" - ], "type": "object" }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "AWS::ECS::Service.NetworkConfiguration": { "additionalProperties": false, "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" } }, - "required": [ - "ScalingAdjustment" - ], "type": "object" }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "AWS::ECS::Service.PlacementConstraint": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Expression": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "Type": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.StepConfig": { + "AWS::ECS::Service.PlacementStrategy": { "additionalProperties": false, "properties": { - "ActionOnFailure": { + "Field": { "type": "string" }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { + "Type": { "type": "string" } }, "required": [ - "HadoopJarStep", - "Name" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.VolumeSpecification": { + "AWS::ECS::Service.ServiceRegistry": { "additionalProperties": false, "properties": { - "Iops": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { "type": "number" }, - "SizeInGB": { + "Port": { "type": "number" }, - "VolumeType": { + "RegistryArn": { "type": "string" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig": { + "AWS::ECS::TaskDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34088,65 +36962,138 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterId": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { "type": "string" }, - "InstanceFleetType": { + "ExecutionRoleArn": { "type": "string" }, - "InstanceTypeConfigs": { + "Family": { + "type": "string" + }, + "InferenceAccelerators": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" }, "type": "array" }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + "IpcMode": { + "type": "string" }, - "Name": { + "Memory": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" + "NetworkMode": { + "type": "string" }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.Configuration": { + "AWS::ECS::TaskDefinition.AuthorizationConfig": { "additionalProperties": false, "properties": { - "Classification": { + "AccessPointId": { "type": "string" }, - "ConfigurationProperties": { + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34155,303 +37102,247 @@ }, "type": "object" }, - "Configurations": { + "DockerSecurityOptions": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { + "EntryPoint": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + "type": "string" }, "type": "array" }, - "EbsOptimized": { + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" + "Image": { + "type": "string" }, - "Configurations": { + "Interactive": { + "type": "boolean" + }, + "Links": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" }, - "InstanceType": { + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "WeightedCapacity": { + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { "type": "string" } }, - "required": [ - "AllocationStrategy" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "AWS::ECS::TaskDefinition.ContainerDependency": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Condition": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "ContainerName": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Device": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" + "ContainerPath": { + "type": "string" }, - "VolumeType": { + "HostPath": { "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig": { + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Autoprovision": { + "type": "boolean" + }, + "Driver": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" + "AuthorizationConfig": { + "type": "object" }, - "MetricName": { + "FilesystemId": { "type": "string" }, - "Namespace": { + "RootDirectory": { "type": "string" }, - "Period": { - "type": "number" - }, - "Statistic": { + "TransitEncryption": { "type": "string" }, - "Threshold": { + "TransitEncryptionPort": { "type": "number" - }, - "Unit": { - "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "FilesystemId" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { + "AWS::ECS::TaskDefinition.EnvironmentFile": { "additionalProperties": false, "properties": { - "Classification": { + "Type": { "type": "string" }, - "ConfigurationProperties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34460,165 +37351,350 @@ }, "type": "object" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "AWS::ECS::TaskDefinition.HealthCheck": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + "Command": { + "items": { + "type": "string" + }, + "type": "array" }, - "VolumesPerInstance": { + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { "type": "number" } }, - "required": [ - "VolumeSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "AWS::ECS::TaskDefinition.HostEntry": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" + "Hostname": { + "type": "string" }, - "EbsOptimized": { - "type": "boolean" + "IpAddress": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "AWS::ECS::TaskDefinition.HostVolumeProperties": { "additionalProperties": false, "properties": { - "Key": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Drop": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, "Value": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "AWS::ECS::TaskDefinition.LinuxParameters": { "additionalProperties": false, "properties": { - "Market": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" } }, "required": [ - "SimpleScalingPolicyConfiguration" + "LogDriver" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "AWS::ECS::TaskDefinition.MountPoint": { "additionalProperties": false, "properties": { - "MaxCapacity": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { "type": "number" }, - "MinCapacity": { + "HostPort": { "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "ContainerName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "AWS::ECS::TaskDefinition.RepositoryCredentials": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { "Name": { "type": "string" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + "ValueFrom": { + "type": "string" } }, "required": [ - "Action", "Name", - "Trigger" + "ValueFrom" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "AWS::ECS::TaskDefinition.SystemControl": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "CloudWatchAlarmDefinition" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "AWS::ECS::TaskDefinition.Tmpfs": { "additionalProperties": false, "properties": { - "AdjustmentType": { + "ContainerPath": { "type": "string" }, - "CoolDown": { - "type": "number" + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScalingAdjustment": { + "Size": { "type": "number" } }, "required": [ - "ScalingAdjustment" + "Size" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Ulimit": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { + "HardLimit": { "type": "number" }, - "VolumeType": { + "Name": { "type": "string" + }, + "SoftLimit": { + "type": "number" } }, "required": [ - "SizeInGB", - "VolumeType" + "HardLimit", + "Name", + "SoftLimit" ], "type": "object" }, - "AWS::EMR::SecurityConfiguration": { + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34650,21 +37726,53 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "Cluster": { "type": "string" }, - "SecurityConfiguration": { - "type": "object" + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" } }, "required": [ - "SecurityConfiguration" + "Cluster", + "Service", + "TaskDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::SecurityConfiguration" + "AWS::ECS::TaskSet" ], "type": "string" }, @@ -34683,7 +37791,88 @@ ], "type": "object" }, - "AWS::EMR::Step": { + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34715,30 +37904,33 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" }, - "JobFlowId": { + "ClientToken": { "type": "string" }, - "Name": { + "FileSystemId": { "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" + "FileSystemId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Step" + "AWS::EFS::AccessPoint" ], "type": "string" }, @@ -34757,46 +37949,73 @@ ], "type": "object" }, - "AWS::EMR::Step.HadoopJarStepConfig": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "Key": { + "type": "string" }, - "Jar": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { "type": "string" }, - "MainClass": { + "OwnerUid": { "type": "string" }, - "StepProperties": { + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + "type": "string" }, "type": "array" + }, + "Uid": { + "type": "string" } }, "required": [ - "Jar" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EMR::Step.KeyValue": { + "AWS::EFS::AccessPoint.RootDirectory": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" }, - "Value": { + "Path": { "type": "string" } }, "type": "object" }, - "AWS::ElastiCache::CacheCluster": { + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34828,95 +38047,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, - "AutoMinorVersionUpgrade": { + "Encrypted": { "type": "boolean" }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" + "FileSystemPolicy": { + "type": "object" }, - "CacheSecurityGroupNames": { + "FileSystemTags": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" }, "type": "array" }, - "CacheSubnetGroupName": { + "KmsKeyId": { "type": "string" }, - "ClusterName": { + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { "type": "string" }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { + "ProvisionedThroughputInMibps": { "type": "number" }, - "SnapshotWindow": { + "ThroughputMode": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::EFS::FileSystem" ], "type": "string" }, @@ -34930,12 +38099,51 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElastiCache::ParameterGroup": { + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "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": { @@ -34967,31 +38175,32 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheParameterGroupFamily": { + "FileSystemId": { "type": "string" }, - "Description": { + "IpAddress": { "type": "string" }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "SecurityGroups": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" + }, + "SubnetId": { + "type": "string" } }, "required": [ - "CacheParameterGroupFamily", - "Description" + "FileSystemId", + "SecurityGroups", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::EFS::MountTarget" ], "type": "string" }, @@ -35010,7 +38219,7 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup": { + "AWS::EKS::Addon": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35042,109 +38251,19 @@ "Properties": { "additionalProperties": false, "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { + "AddonName": { "type": "string" }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { + "AddonVersion": { "type": "string" }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { + "ClusterName": { "type": "string" }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "ResolveConflicts": { "type": "string" }, - "SnapshottingClusterId": { + "ServiceAccountRoleArn": { "type": "string" }, "Tags": { @@ -35152,19 +38271,17 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" } }, "required": [ - "ReplicationGroupDescription" + "AddonName", + "ClusterName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::EKS::Addon" ], "type": "string" }, @@ -35183,31 +38300,7 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { + "AWS::EKS::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35239,18 +38332,37 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { "type": "string" } }, "required": [ - "Description" + "ResourcesVpcConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::EKS::Cluster" ], "type": "string" }, @@ -35269,7 +38381,61 @@ ], "type": "object" }, - "AWS::ElastiCache::SecurityGroupIngress": { + "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.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35301,25 +38467,44 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "ClusterName": { "type": "string" }, - "EC2SecurityGroupName": { + "FargateProfileName": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "PodExecutionRoleArn": { "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "ClusterName", + "PodExecutionRoleArn", + "Selectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::EKS::FargateProfile" ], "type": "string" }, @@ -35338,7 +38523,41 @@ ], "type": "object" }, - "AWS::ElastiCache::SubnetGroup": { + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35370,28 +38589,71 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSubnetGroupName": { + "AmiType": { "type": "string" }, - "Description": { + "CapacityType": { "type": "string" }, - "SubnetIds": { + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { "items": { "type": "string" }, "type": "array" + }, + "Tags": { + "type": "object" + }, + "Version": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "ClusterName", + "NodeRole", + "Subnets" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::EKS::Nodegroup" ], "type": "string" }, @@ -35410,7 +38672,55 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application": { + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35442,21 +38752,99 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { + "AdditionalInfo": { + "type": "object" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { "type": "string" }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" } }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::EMR::Cluster" ], "type": "string" }, @@ -35470,712 +38858,637 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "AWS::EMR::Cluster.Application": { "additionalProperties": false, "properties": { - "ServiceRole": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + "Version": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "AWS::EMR::Cluster.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" } }, + "required": [ + "Constraints", + "Rules" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "AWS::EMR::Cluster.BootstrapActionConfig": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "MaxAgeInDays": { - "type": "number" + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" + "ComparisonOperator": { + "type": "string" }, - "Enabled": { - "type": "boolean" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" }, - "MaxCount": { + "EvaluationPeriods": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MetricName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Namespace": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" + "Period": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], + "Statistic": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "AWS::EMR::Cluster.ComputeLimits": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" + "MaximumCapacityUnits": { + "type": "number" }, - "S3Key": { + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { "type": "string" } }, "required": [ - "S3Bucket", - "S3Key" + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Classification": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, - "required": [ - "ApplicationName" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" }, - "Value": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "Namespace", - "OptionName" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "AWS::EMR::Cluster.EbsConfiguration": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" }, - "TemplateName": { - "type": "string" + "EbsOptimized": { + "type": "boolean" } }, - "required": [ - "ApplicationName", - "TemplateName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment": { + "AWS::EMR::Cluster.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } + "Args": { + "items": { + "type": "string" }, - "required": [ - "ApplicationName" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], + "Jar": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MainClass": { "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Jar" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "AWS::EMR::Cluster.InstanceFleetConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" }, - "OptionName": { - "type": "string" + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" }, - "ResourceName": { + "Name": { "type": "string" }, - "Value": { - "type": "string" + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" } }, - "required": [ - "Namespace", - "OptionName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.Tier": { + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" }, - "Version": { - "type": "string" + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer": { + "AWS::EMR::Cluster.InstanceGroupConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" + "InstanceCount": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], + "InstanceType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceCount", + "InstanceType" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "AWS::EMR::Cluster.InstanceTypeConfig": { "additionalProperties": false, "properties": { - "EmitInterval": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { "type": "number" }, - "Enabled": { + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { "type": "boolean" }, - "S3BucketName": { + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { "type": "string" }, - "S3BucketPrefix": { + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { "type": "string" } }, "required": [ - "Enabled", - "S3BucketName" + "KdcAdminPassword", + "Realm" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "AWS::EMR::Cluster.KeyValue": { "additionalProperties": false, "properties": { - "CookieName": { + "Key": { "type": "string" }, - "PolicyName": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "CookieName", - "PolicyName" + "Key", + "Value" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" + "AllocationStrategy": { + "type": "string" } }, "required": [ - "Enabled" + "AllocationStrategy" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { - "IdleTimeout": { - "type": "number" + "AvailabilityZone": { + "type": "string" } }, "required": [ - "IdleTimeout" + "AvailabilityZone" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "AWS::EMR::Cluster.ScalingAction": { "additionalProperties": false, "properties": { - "HealthyThreshold": { + "Market": { "type": "string" }, - "Interval": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Target": { - "type": "string" + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" }, - "Timeout": { + "Description": { "type": "string" }, - "UnhealthyThreshold": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" } }, "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "AWS::EMR::Cluster.ScalingTrigger": { "additionalProperties": false, "properties": { - "CookieExpirationPeriod": { - "type": "string" + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" }, - "PolicyName": { + "Path": { "type": "string" } }, + "required": [ + "Path" + ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { "additionalProperties": false, "properties": { - "InstancePort": { + "AdjustmentType": { "type": "string" }, - "InstanceProtocol": { - "type": "string" + "CoolDown": { + "type": "number" }, - "LoadBalancerPort": { + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" + "BlockDurationMinutes": { + "type": "number" }, - "Protocol": { + "TimeoutAction": { "type": "string" }, - "SSLCertificateId": { - "type": "string" + "TimeoutDurationMinutes": { + "type": "number" } }, "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" + "TimeoutAction", + "TimeoutDurationMinutes" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "AWS::EMR::Cluster.StepConfig": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" }, - "PolicyName": { + "Name": { "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" }, - "PolicyType": { + "SizeInGB": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "required": [ - "Attributes", - "PolicyName", - "PolicyType" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener": { + "AWS::EMR::InstanceFleetConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36207,46 +39520,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" + "ClusterId": { + "type": "string" }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" + "InstanceFleetType": { + "type": "string" }, - "DefaultActions": { + "InstanceTypeConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" }, "type": "array" }, - "LoadBalancerArn": { + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { "type": "string" }, - "Port": { + "TargetOnDemandCapacity": { "type": "number" }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" + "TargetSpotCapacity": { + "type": "number" } }, "required": [ - "DefaultActions", - "LoadBalancerArn" + "ClusterId", + "InstanceFleetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::EMR::InstanceFleetConfig" ], "type": "string" }, @@ -36265,227 +39572,485 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { + "AWS::EMR::InstanceFleetConfig.Configuration": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + "Classification": { + "type": "string" }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" }, - "Order": { + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { "type": "number" }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" }, - "TargetGroupArn": { + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { "type": "string" }, - "Type": { + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" } }, "required": [ - "Type" + "AllocationStrategy" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { + "AllocationStrategy": { "type": "string" }, - "Scope": { - "type": "string" + "BlockDurationMinutes": { + "type": "number" }, - "SessionCookieName": { + "TimeoutAction": { "type": "string" }, - "SessionTimeout": { + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { "type": "number" }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" + "SizeInGB": { + "type": "number" }, - "UserPoolDomain": { + "VolumeType": { "type": "string" } }, "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "AWS::EMR::InstanceGroupConfig": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "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": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], "type": "object" }, - "AuthorizationEndpoint": { + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], "type": "string" }, - "ClientId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" }, - "ClientSecret": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { "type": "string" }, - "Issuer": { - "type": "string" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" }, - "OnUnauthenticatedRequest": { - "type": "string" + "EvaluationPeriods": { + "type": "number" }, - "Scope": { + "MetricName": { "type": "string" }, - "SessionCookieName": { + "Namespace": { "type": "string" }, - "SessionTimeout": { + "Period": { "type": "number" }, - "TokenEndpoint": { + "Statistic": { "type": "string" }, - "UserInfoEndpoint": { + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "AWS::EMR::InstanceGroupConfig.Configuration": { "additionalProperties": false, "properties": { - "CertificateArn": { + "Classification": { "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" }, - "StatusCode": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "StatusCode" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { "additionalProperties": false, "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { + "EbsBlockDeviceConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" }, "type": "array" + }, + "EbsOptimized": { + "type": "boolean" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "AWS::EMR::InstanceGroupConfig.MetricDimension": { "additionalProperties": false, "properties": { - "Host": { + "Key": { "type": "string" }, - "Path": { + "Value": { "type": "string" - }, - "Port": { + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { "type": "string" }, - "Protocol": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Query": { + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { "type": "string" }, - "StatusCode": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" } }, "required": [ - "StatusCode" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { "additionalProperties": false, "properties": { - "DurationSeconds": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { "type": "number" }, - "Enabled": { - "type": "boolean" + "ScalingAdjustment": { + "type": "number" } }, + "required": [ + "ScalingAdjustment" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { "additionalProperties": false, "properties": { - "TargetGroupArn": { - "type": "string" + "Iops": { + "type": "number" }, - "Weight": { + "SizeInGB": { "type": "number" + }, + "VolumeType": { + "type": "string" } }, + "required": [ + "SizeInGB", + "VolumeType" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "AWS::EMR::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36517,25 +40082,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { + "Name": { "type": "string" + }, + "SecurityConfiguration": { + "type": "object" } }, "required": [ - "Certificates", - "ListenerArn" + "SecurityConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::EMR::SecurityConfiguration" ], "type": "string" }, @@ -36554,16 +40115,7 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { + "AWS::EMR::Step": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36595,36 +40147,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" }, - "ListenerArn": { + "JobFlowId": { "type": "string" }, - "Priority": { - "type": "number" + "Name": { + "type": "string" } }, "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::EMR::Step" ], "type": "string" }, @@ -36643,338 +40189,46 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "AWS::EMR::Step.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { + "Args": { "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" }, - "Query": { + "Jar": { "type": "string" }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "Field": { + "MainClass": { "type": "string" }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { + "StepProperties": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" }, "type": "array" } }, + "required": [ + "Jar" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "AWS::EMR::Step.KeyValue": { "additionalProperties": false, "properties": { - "TargetGroupArn": { + "Key": { "type": "string" }, - "Weight": { - "type": "number" + "Value": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "AWS::EMR::Studio": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37006,34 +40260,25 @@ "Properties": { "additionalProperties": false, "properties": { - "IpAddressType": { + "AuthMode": { "type": "string" }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" + "DefaultS3Location": { + "type": "string" }, - "Name": { + "Description": { "type": "string" }, - "Scheme": { + "EngineSecurityGroupId": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" + "ServiceRole": { + "type": "string" }, - "Subnets": { + "SubnetIds": { "items": { "type": "string" }, @@ -37045,15 +40290,32 @@ }, "type": "array" }, - "Type": { + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { "type": "string" } }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::EMR::Studio" ], "type": "string" }, @@ -37067,44 +40329,86 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "AWS::EMR::StudioSessionMapping": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IPv6Address": { - "type": "string" + "Metadata": { + "type": "object" }, - "PrivateIPv4Address": { + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], "type": "string" }, - "SubnetId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { + "AWS::EMRContainers::VirtualCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37136,72 +40440,28 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" }, "Name": { "type": "string" }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" } }, + "required": [ + "ContainerProvider", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::EMRContainers::VirtualCluster" ], "type": "string" }, @@ -37215,50 +40475,56 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { "additionalProperties": false, "properties": { - "HttpCode": { - "type": "string" + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" } }, + "required": [ + "EksInfo" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, "Id": { "type": "string" }, - "Port": { - "type": "number" + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" } }, "required": [ - "Id" + "Id", + "Info", + "Type" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::EMRContainers::VirtualCluster.EksInfo": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { + "Namespace": { "type": "string" } }, + "required": [ + "Namespace" + ], "type": "object" }, - "AWS::Elasticsearch::Domain": { + "AWS::ElastiCache::CacheCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37290,56 +40556,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessPolicies": { - "type": "object" - }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + "CacheSubnetGroupName": { + "type": "string" }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + "ClusterName": { + "type": "string" }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + "Engine": { + "type": "string" }, - "DomainName": { + "EngineVersion": { "type": "string" }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + "NotificationTopicArn": { + "type": "string" }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + "NumCacheNodes": { + "type": "number" }, - "ElasticsearchVersion": { + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { "type": "string" }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + "SnapshotName": { + "type": "string" }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" }, "Tags": { "items": { @@ -37347,15 +40628,23 @@ }, "type": "array" }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::ElastiCache::CacheCluster" ], "type": "string" }, @@ -37369,176 +40658,143 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { + "AWS::ElastiCache::GlobalReplicationGroup": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "EnforceHTTPS": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" + "Metadata": { + "type": "object" }, - "Iops": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" }, - "VolumeSize": { - "type": "number" + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" }, - "VolumeType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { "additionalProperties": false, "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { + "ReplicationGroupId": { "type": "string" }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { + "ReplicationGroupRegion": { "type": "string" }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { + "Role": { "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { "additionalProperties": false, "properties": { - "MasterUserARN": { + "ReplicationGroupId": { "type": "string" }, - "MasterUserName": { + "ReplicationGroupRegion": { "type": "string" }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.VPCOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "NodeGroupId": { + "type": "string" }, - "SubnetIds": { + "PreferredAvailabilityZones": { "items": { "type": "string" }, @@ -37547,16 +40803,7 @@ }, "type": "object" }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { + "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37588,27 +40835,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CacheParameterGroupFamily": { "type": "string" }, - "SourceArn": { + "Description": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "SourceArn" + "CacheParameterGroupFamily", + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Discoverer" + "AWS::ElastiCache::ParameterGroup" ], "type": "string" }, @@ -37627,23 +40878,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { + "AWS::ElastiCache::ReplicationGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37675,24 +40910,135 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { "type": "string" }, - "RegistryName": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" }, "type": "array" } }, + "required": [ + "ReplicationGroupDescription" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Registry" + "AWS::ElastiCache::ReplicationGroup" ], "type": "string" }, @@ -37706,27 +41052,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EventSchemas::Registry.TagsEntry": { + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "NodeGroupId": { "type": "string" }, - "Value": { + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EventSchemas::RegistryPolicy": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37758,25 +41113,18 @@ "Properties": { "additionalProperties": false, "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { + "Description": { "type": "string" } }, "required": [ - "Policy", - "RegistryName" + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::RegistryPolicy" + "AWS::ElastiCache::SecurityGroup" ], "type": "string" }, @@ -37795,7 +41143,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Schema": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37827,38 +41175,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RegistryName": { + "CacheSecurityGroupName": { "type": "string" }, - "SchemaName": { + "EC2SecurityGroupName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { + "EC2SecurityGroupOwnerId": { "type": "string" } }, "required": [ - "Content", - "RegistryName", - "Type" + "CacheSecurityGroupName", + "EC2SecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Schema" + "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" }, @@ -37877,23 +41212,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::EventBus": { + "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37925,21 +41244,28 @@ "Properties": { "additionalProperties": false, "properties": { - "EventSourceName": { + "CacheSubnetGroupName": { "type": "string" }, - "Name": { + "Description": { "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBus" + "AWS::ElastiCache::SubnetGroup" ], "type": "string" }, @@ -37958,7 +41284,7 @@ ], "type": "object" }, - "AWS::Events::EventBusPolicy": { + "AWS::ElastiCache::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37990,32 +41316,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "AccessString": { "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { + "Engine": { "type": "string" }, - "Principal": { + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { "type": "string" }, - "StatementId": { + "UserName": { "type": "string" } }, "required": [ - "Action", - "Principal", - "StatementId" + "Engine", + "UserId", + "UserName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::ElastiCache::User" ], "type": "string" }, @@ -38034,22 +41366,7 @@ ], "type": "object" }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { + "AWS::ElastiCache::UserGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38081,39 +41398,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { + "Engine": { "type": "string" }, - "State": { + "UserGroupId": { "type": "string" }, - "Targets": { + "UserIds": { "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" + "type": "string" }, "type": "array" } }, + "required": [ + "Engine", + "UserGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::ElastiCache::UserGroup" ], "type": "string" }, @@ -38127,324 +41433,130 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { + "AWS::ElasticBeanstalk::Application": { "additionalProperties": false, "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "type": "object" + ] }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + }, + "Description": { "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" } }, "type": "object" }, - "InputTemplate": { + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PartitionKeyPath" + "Type" ], "type": "object" }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { "additionalProperties": false, "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { + "ServiceRole": { "type": "string" }, - "WithEvent": { - "type": "boolean" + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" } }, - "required": [ - "Database", - "Sql" - ], "type": "object" }, - "AWS::Events::Rule.RetryPolicy": { + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { "additionalProperties": false, "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" } }, - "required": [ - "RunCommandTargets" - ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" } }, - "required": [ - "MessageGroupId" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::ElasticBeanstalk::Application.MaxCountRule": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + "Enabled": { + "type": "boolean" }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + "MaxCount": { + "type": "number" } }, - "required": [ - "Arn", - "Id" - ], "type": "object" }, - "AWS::FMS::NotificationChannel": { + "AWS::ElasticBeanstalk::ApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38476,22 +41588,25 @@ "Properties": { "additionalProperties": false, "properties": { - "SnsRoleName": { + "ApplicationName": { "type": "string" }, - "SnsTopicArn": { + "Description": { "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" } }, "required": [ - "SnsRoleName", - "SnsTopicArn" + "ApplicationName", + "SourceBundle" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::NotificationChannel" + "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" }, @@ -38510,7 +41625,23 @@ ], "type": "object" }, - "AWS::FMS::Policy": { + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38542,61 +41673,39 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + "ApplicationName": { + "type": "string" }, - "PolicyName": { + "Description": { "type": "string" }, - "RemediationEnabled": { - "type": "boolean" + "EnvironmentId": { + "type": "string" }, - "ResourceTags": { + "OptionSettings": { "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" }, "type": "array" }, - "ResourceType": { + "PlatformArn": { "type": "string" }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityServicePolicyData": { - "type": "object" + "SolutionStackName": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::Policy" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" }, @@ -38615,28 +41724,16 @@ ], "type": "object" }, - "AWS::FMS::Policy.IEMap": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { "additionalProperties": false, "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" + "Namespace": { + "type": "string" }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { + "OptionName": { + "type": "string" + }, + "ResourceName": { "type": "string" }, "Value": { @@ -38644,27 +41741,28 @@ } }, "required": [ - "Key", - "Value" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::FMS::Policy.ResourceTag": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "ApplicationName": { "type": "string" }, - "Value": { + "TemplateName": { "type": "string" } }, "required": [ - "Key" + "ApplicationName", + "TemplateName" ], "type": "object" }, - "AWS::FSx::FileSystem": { + "AWS::ElasticBeanstalk::Environment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38696,35 +41794,29 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupId": { + "ApplicationName": { "type": "string" }, - "FileSystemType": { + "CNAMEPrefix": { "type": "string" }, - "KmsKeyId": { + "Description": { "type": "string" }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + "EnvironmentName": { + "type": "string" }, - "SecurityGroupIds": { + "OptionSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" }, "type": "array" }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { + "PlatformArn": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "SolutionStackName": { + "type": "string" }, "Tags": { "items": { @@ -38732,19 +41824,24 @@ }, "type": "array" }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" } }, "required": [ - "FileSystemType", - "SubnetIds" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FSx::FileSystem" + "AWS::ElasticBeanstalk::Environment" ], "type": "string" }, @@ -38763,106 +41860,44 @@ ], "type": "object" }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "AWS::ElasticBeanstalk::Environment.OptionSetting": { "additionalProperties": false, "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { + "Namespace": { "type": "string" }, - "OrganizationalUnitDistinguishedName": { + "OptionName": { "type": "string" }, - "Password": { + "ResourceName": { "type": "string" }, - "UserName": { + "Value": { "type": "string" } }, + "required": [ + "Namespace", + "OptionName" + ], "type": "object" }, - "AWS::FSx::FileSystem.WindowsConfiguration": { + "AWS::ElasticBeanstalk::Environment.Tier": { "additionalProperties": false, "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { + "Name": { "type": "string" }, - "PreferredSubnetId": { + "Type": { "type": "string" }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { + "Version": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::Alias": { + "AWS::ElasticLoadBalancing::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38894,25 +41929,90 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { "type": "string" }, - "Name": { + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { "type": "string" }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "RoutingStrategy" + "Listeners" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Alias" + "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" }, @@ -38931,112 +42031,179 @@ ], "type": "object" }, - "AWS::GameLift::Alias.RoutingStrategy": { + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { "additionalProperties": false, "properties": { - "FleetId": { - "type": "string" + "EmitInterval": { + "type": "number" }, - "Message": { + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { "type": "string" }, - "Type": { + "S3BucketPrefix": { "type": "string" } }, + "required": [ + "Enabled", + "S3BucketName" + ], "type": "object" }, - "AWS::GameLift::Build": { + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CookieName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" + "Interval": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], + "Target": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { "type": "string" } }, "required": [ - "Type" + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" ], "type": "object" }, - "AWS::GameLift::Build.S3Location": { + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "Bucket": { + "CookieExpirationPeriod": { "type": "string" }, - "Key": { + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { "type": "string" }, - "ObjectVersion": { + "InstanceProtocol": { "type": "string" }, - "RoleArn": { + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "InstancePort", + "LoadBalancerPort", + "Protocol" ], "type": "object" }, - "AWS::GameLift::Fleet": { + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39068,88 +42235,46 @@ "Properties": { "additionalProperties": false, "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { + "AlpnPolicy": { "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + "type": "string" }, "type": "array" }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "LogPaths": { + "Certificates": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" }, "type": "array" }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { + "DefaultActions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" }, "type": "array" }, - "MinSize": { - "type": "number" - }, - "Name": { + "LoadBalancerArn": { "type": "string" }, - "NewGameSessionProtectionPolicy": { - "type": "string" - }, - "PeerVpcAwsAccountId": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" + "Port": { + "type": "number" }, - "ServerLaunchParameters": { + "Protocol": { "type": "string" }, - "ServerLaunchPath": { + "SslPolicy": { "type": "string" } }, "required": [ - "EC2InstanceType", - "Name" + "DefaultActions", + "LoadBalancerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Fleet" + "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" }, @@ -39168,283 +42293,227 @@ ], "type": "object" }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { + "AWS::ElasticLoadBalancingV2::Listener.Action": { "additionalProperties": false, "properties": { - "FromPort": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { "type": "number" }, - "IpRange": { - "type": "string" + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" }, - "Protocol": { + "TargetGroupArn": { "type": "string" }, - "ToPort": { - "type": "number" + "Type": { + "type": "string" } }, "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" + "Type" ], "type": "object" }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "NewGameSessionsPerCreator": { - "type": "number" + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" + "OnUnauthenticatedRequest": { + "type": "string" }, - "MaxConcurrentGameSessionActivations": { - "type": "number" + "Scope": { + "type": "string" }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" + "SessionCookieName": { + "type": "string" }, - "LaunchPath": { + "SessionTimeout": { "type": "string" }, - "Parameters": { + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { "type": "string" } }, "required": [ - "ConcurrentExecutions", - "LaunchPath" + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" ], "type": "object" }, - "AWS::GameLift::GameServerGroup": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinitions" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.Tags" - }, - "VpcSubnets": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.VpcSubnets" } }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { "additionalProperties": false, "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + "CertificateArn": { + "type": "string" } }, - "required": [ - "TargetTrackingConfiguration" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { "additionalProperties": false, "properties": { - "InstanceType": { + "ContentType": { "type": "string" }, - "WeightedCapacity": { + "MessageBody": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "InstanceType" + "StatusCode" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinitions": { + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { "additionalProperties": false, "properties": { - "InstanceDefinitions": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" }, "type": "array" } }, "type": "object" }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { + "Host": { "type": "string" }, - "LaunchTemplateName": { + "Path": { "type": "string" }, - "Version": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, + "required": [ + "StatusCode" + ], "type": "object" }, - "AWS::GameLift::GameServerGroup.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { "additionalProperties": false, "properties": { - "TargetValue": { + "DurationSeconds": { "type": "number" + }, + "Enabled": { + "type": "boolean" } }, - "required": [ - "TargetValue" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.VpcSubnets": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { "additionalProperties": false, "properties": { - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39476,33 +42545,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "Certificates": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" }, "type": "array" }, - "Name": { + "ListenerArn": { "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "TimeoutInSeconds": { - "type": "number" } }, "required": [ - "Name" + "Certificates", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::GameSessionQueue" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" }, @@ -39521,28 +42582,16 @@ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { "additionalProperties": false, "properties": { - "DestinationArn": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { + "AWS::ElasticLoadBalancingV2::ListenerRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39574,66 +42623,36 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { + "Actions": { "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" }, "type": "array" }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" }, "type": "array" }, - "Name": { - "type": "string" - }, - "NotificationTarget": { + "ListenerArn": { "type": "string" }, - "RequestTimeoutSeconds": { + "Priority": { "type": "number" - }, - "RuleSetName": { - "type": "string" } }, "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" + "Actions", + "Conditions", + "ListenerArn", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::MatchmakingConfiguration" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" }, @@ -39652,180 +42671,341 @@ ], "type": "object" }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { "additionalProperties": false, "properties": { - "Key": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { "type": "string" }, - "Value": { + "Type": { "type": "string" } }, "required": [ - "Key", - "Value" + "Type" ], "type": "object" }, - "AWS::GameLift::MatchmakingRuleSet": { + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "RuleSetBody": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "Name", - "RuleSetBody" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], + "OnUnauthenticatedRequest": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + }, + "SessionCookieName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SessionTimeout": { + "type": "number" }, - "Metadata": { - "type": "object" + "UserPoolArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "StorageLocation" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::Script.S3Location": { + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { "type": "string" }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { "Key": { "type": "string" }, - "ObjectVersion": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { "type": "string" }, - "RoleArn": { + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "StatusCode" ], "type": "object" }, - "AWS::GlobalAccelerator::Accelerator": { + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39857,36 +43037,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, "IpAddressType": { "type": "string" }, - "IpAddresses": { + "LoadBalancerAttributes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" }, "type": "array" }, "Name": { "type": "string" }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Accelerator" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" }, @@ -39900,12 +43098,44 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup": { + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39937,14 +43167,8 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" + "HealthCheckEnabled": { + "type": "boolean" }, "HealthCheckIntervalSeconds": { "type": "number" @@ -39953,36 +43177,65 @@ "type": "string" }, "HealthCheckPort": { - "type": "number" + "type": "string" }, "HealthCheckProtocol": { "type": "string" }, - "ListenerArn": { + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { "type": "string" }, - "PortOverrides": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "ThresholdCount": { - "type": "number" + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" }, - "TrafficDialPercentage": { + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { "type": "number" + }, + "VpcId": { + "type": "string" } }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" }, @@ -39996,46 +43249,53 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { "additionalProperties": false, "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" + "GrpcCode": { + "type": "string" }, - "EndpointId": { + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { "type": "string" }, - "Weight": { + "Id": { + "type": "string" + }, + "Port": { "type": "number" } }, "required": [ - "EndpointId" + "Id" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { "additionalProperties": false, "properties": { - "EndpointPort": { - "type": "number" + "Key": { + "type": "string" }, - "ListenerPort": { - "type": "number" + "Value": { + "type": "string" } }, - "required": [ - "EndpointPort", - "ListenerPort" - ], "type": "object" }, - "AWS::GlobalAccelerator::Listener": { + "AWS::Elasticsearch::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40067,32 +43327,72 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorArn": { - "type": "string" - }, - "ClientAffinity": { - "type": "string" + "AccessPolicies": { + "type": "object" }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], - "type": "object" + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { + "type": "string" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, + "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Listener" + "AWS::Elasticsearch::Domain" ], "type": "string" }, @@ -40106,181 +43406,203 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::Listener.PortRange": { + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ToPort": { - "type": "number" + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Enabled": { + "type": "boolean" }, - "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" + "IdentityPoolId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], + "RoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "UserPoolId": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Glue::Classifier.CsvClassifier": { + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { + "CustomEndpoint": { "type": "string" }, - "Delimiter": { + "CustomEndpointCertificateArn": { "type": "string" }, - "DisableValueTrimming": { + "CustomEndpointEnabled": { "type": "boolean" }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" + "EnforceHTTPS": { + "type": "boolean" }, - "Name": { + "TLSSecurityPolicy": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" }, - "QuoteSymbol": { + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Classifier.GrokClassifier": { + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { - "Classification": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { "type": "string" }, - "CustomPatterns": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "GrokPattern": { + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { "type": "string" }, - "Name": { + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { "type": "string" } }, - "required": [ - "Classification", - "GrokPattern" - ], "type": "object" }, - "AWS::Glue::Classifier.JsonClassifier": { + "AWS::Elasticsearch::Domain.LogPublishingOption": { "additionalProperties": false, "properties": { - "JsonPath": { + "CloudWatchLogsLogGroupArn": { "type": "string" }, - "Name": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "JsonPath" - ], "type": "object" }, - "AWS::Glue::Classifier.XMLClassifier": { + "AWS::Elasticsearch::Domain.MasterUserOptions": { "additionalProperties": false, "properties": { - "Classification": { + "MasterUserARN": { "type": "string" }, - "Name": { + "MasterUserName": { "type": "string" }, - "RowTag": { + "MasterUserPassword": { "type": "string" } }, - "required": [ - "Classification", - "RowTag" - ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40312,22 +43634,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" } }, "required": [ - "CatalogId", - "ConnectionInput" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::EventSchemas::Discoverer" ], "type": "string" }, @@ -40346,56 +43673,23 @@ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::EventSchemas::Discoverer.TagsEntry": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { + "Key": { "type": "string" }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { + "Value": { "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "Key", + "Value" ], "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::EventSchemas::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40427,55 +43721,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, "Description": { "type": "string" }, - "Name": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { + "RegistryName": { "type": "string" }, "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" } }, - "required": [ - "Role", - "Targets" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Crawler" + "AWS::EventSchemas::Registry" ], "type": "string" }, @@ -40489,120 +43752,27 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { + "AWS::EventSchemas::Registry.TagsEntry": { "additionalProperties": false, "properties": { - "DeleteBehavior": { + "Key": { "type": "string" }, - "UpdateBehavior": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { + "AWS::EventSchemas::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40634,22 +43804,25 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Policy": { + "type": "object" + }, + "RegistryName": { "type": "string" }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + "RevisionId": { + "type": "string" } }, "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" + "Policy", + "RegistryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" + "AWS::EventSchemas::RegistryPolicy" ], "type": "string" }, @@ -40668,43 +43841,7 @@ ], "type": "object" }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { + "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40736,22 +43873,38 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Content": { "type": "string" }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "CatalogId", - "DatabaseInput" + "Content", + "RegistryName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Database" + "AWS::EventSchemas::Schema" ], "type": "string" }, @@ -40770,25 +43923,23 @@ ], "type": "object" }, - "AWS::Glue::Database.DatabaseInput": { + "AWS::EventSchemas::Schema.TagsEntry": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "LocationUri": { + "Key": { "type": "string" }, - "Name": { + "Value": { "type": "string" - }, - "Parameters": { - "type": "object" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::DevEndpoint": { + "AWS::Events::ApiDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40820,66 +43971,109 @@ "Properties": { "additionalProperties": false, "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { + "ConnectionArn": { "type": "string" }, - "ExtraJarsS3Path": { + "Description": { "type": "string" }, - "ExtraPythonLibsS3Path": { + "HttpMethod": { "type": "string" }, - "GlueVersion": { + "InvocationEndpoint": { "type": "string" }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { + "InvocationRateLimitPerSecond": { "type": "number" }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { + "Name": { "type": "string" - }, - "SecurityConfiguration": { + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "SecurityGroupIds": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" }, - "SubnetId": { + "Description": { "type": "string" }, - "Tags": { + "EventPattern": { "type": "object" }, - "WorkerType": { + "RetentionDays": { + "type": "number" + }, + "SourceArn": { "type": "string" } }, "required": [ - "RoleArn" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DevEndpoint" + "AWS::Events::Archive" ], "type": "string" }, @@ -40898,7 +44092,7 @@ ], "type": "object" }, - "AWS::Glue::Job": { + "AWS::Events::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40930,70 +44124,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { + "AuthParameters": { "type": "object" }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { + "AuthorizationType": { "type": "string" }, - "LogUri": { + "Description": { "type": "string" }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, "Name": { "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" } }, "required": [ - "Command", - "Role" + "AuthParameters", + "AuthorizationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Job" + "AWS::Events::Connection" ], "type": "string" }, @@ -41012,52 +44164,72 @@ ], "type": "object" }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { + "AWS::Events::EventBus": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PythonVersion": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], "type": "string" }, - "ScriptLocation": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { + "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41089,53 +44261,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { + "Action": { "type": "string" }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, - "Name": { + "EventBusName": { "type": "string" }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { + "Principal": { "type": "string" }, - "Tags": { + "Statement": { "type": "object" }, - "Timeout": { - "type": "number" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { + "StatementId": { "type": "string" } }, "required": [ - "InputRecordTables", - "Role", - "TransformParameters" + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::MLTransform" + "AWS::Events::EventBusPolicy" ], "type": "string" }, @@ -41154,77 +44306,22 @@ ], "type": "object" }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { + "AWS::Events::EventBusPolicy.Condition": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { + "Key": { "type": "string" }, - "TableName": { + "Type": { "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" }, - "TransformType": { + "Value": { "type": "string" } }, - "required": [ - "TransformType" - ], "type": "object" }, - "AWS::Glue::Partition": { + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41256,30 +44353,39 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "DatabaseName": { + "EventBusName": { "type": "string" }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + "EventPattern": { + "type": "object" }, - "TableName": { + "Name": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" } }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Partition" + "AWS::Events::Rule" ], "type": "string" }, @@ -41293,153 +44399,324 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Partition.Column": { + "AWS::Events::Rule.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "Comment": { + "AssignPublicIp": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Subnets" ], "type": "object" }, - "AWS::Glue::Partition.Order": { + "AWS::Events::Rule.BatchArrayProperties": { "additionalProperties": false, "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { + "Size": { "type": "number" } }, - "required": [ - "Column" - ], "type": "object" }, - "AWS::Glue::Partition.PartitionInput": { + "AWS::Events::Rule.BatchParameters": { "additionalProperties": false, "properties": { - "Parameters": { - "type": "object" + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + "JobDefinition": { + "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" } }, "required": [ - "Values" + "JobDefinition", + "JobName" ], "type": "object" }, - "AWS::Glue::Partition.SerdeInfo": { + "AWS::Events::Rule.BatchRetryStrategy": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "Attempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" }, - "Parameters": { - "type": "object" + "LaunchType": { + "type": "string" }, - "SerializationLibrary": { + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { "type": "string" } }, + "required": [ + "TaskDefinitionArn" + ], "type": "object" }, - "AWS::Glue::Partition.SkewedInfo": { + "AWS::Events::Rule.HttpParameters": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { "items": { "type": "string" }, "type": "array" }, - "SkewedColumnValueLocationMaps": { + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, - "SkewedColumnValues": { + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" }, "type": "array" } }, + "required": [ + "RunCommandTargets" + ], "type": "object" }, - "AWS::Glue::Partition.StorageDescriptor": { + "AWS::Events::Rule.RunCommandTarget": { "additionalProperties": false, "properties": { - "BucketColumns": { + "Key": { + "type": "string" + }, + "Values": { "items": { "type": "string" }, "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, - "Compressed": { - "type": "boolean" + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" }, - "InputFormat": { - "type": "string" + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, - "Location": { + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" + "Input": { + "type": "string" }, - "OutputFormat": { + "InputPath": { "type": "string" }, - "Parameters": { - "type": "object" + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" }, - "StoredAsSubDirectories": { - "type": "boolean" + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } }, + "required": [ + "Arn", + "Id" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration": { + "AWS::FMS::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41471,22 +44748,22 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + "SnsRoleName": { + "type": "string" }, - "Name": { + "SnsTopicArn": { "type": "string" } }, "required": [ - "EncryptionConfiguration", - "Name" + "SnsRoleName", + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::SecurityConfiguration" + "AWS::FMS::NotificationChannel" ], "type": "string" }, @@ -41505,63 +44782,161 @@ ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "AWS::FMS::Policy": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionMode": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KmsKeyArn": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { + "type": "string" + }, + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { + "type": "string" + }, + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" + } + }, + "required": [ + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "AWS::FMS::Policy.IEMap": { "additionalProperties": false, "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + "ACCOUNT": { + "items": { + "type": "string" + }, + "type": "array" }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "AWS::FMS::Policy.PolicyTag": { "additionalProperties": false, "properties": { - "JobBookmarksEncryptionMode": { + "Key": { "type": "string" }, - "KmsKeyArn": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { + "AWS::FMS::Policy.ResourceTag": { "additionalProperties": false, "properties": { - "KmsKeyArn": { + "Key": { "type": "string" }, - "S3EncryptionMode": { + "Value": { "type": "string" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { + "AWS::FSx::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41593,26 +44968,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "BackupId": { "type": "string" }, - "DatabaseName": { + "FileSystemType": { "type": "string" }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, "required": [ - "CatalogId", - "DatabaseName", - "TableInput" + "FileSystemType", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Table" + "AWS::FSx::FileSystem" ], "type": "string" }, @@ -41631,167 +45035,115 @@ ], "type": "object" }, - "AWS::Glue::Table.Column": { + "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { - "Comment": { + "AutoImportPolicy": { "type": "string" }, - "Name": { + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { "type": "string" }, - "Type": { + "DeploymentType": { "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { + }, + "DriveCacheType": { "type": "string" }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { + "ExportPath": { "type": "string" }, - "Parameters": { - "type": "object" + "ImportPath": { + "type": "string" }, - "SerializationLibrary": { + "ImportedFileChunkSize": { + "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Table.SkewedInfo": { + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "DnsIps": { "items": { "type": "string" }, "type": "array" }, - "SkewedColumnValueLocationMaps": { - "type": "object" + "DomainName": { + "type": "string" }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Table.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { + "FileSystemAdministratorsGroup": { "type": "string" }, - "Location": { + "OrganizationalUnitDistinguishedName": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { + "Password": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" + "UserName": { + "type": "string" } }, "type": "object" }, - "AWS::Glue::Table.TableInput": { + "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { + "ActiveDirectoryId": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { + "Aliases": { "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" + "type": "string" }, "type": "array" }, - "Retention": { + "AutomaticBackupRetentionDays": { "type": "number" }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + "CopyTagsToBackups": { + "type": "boolean" }, - "TableType": { + "DailyAutomaticBackupStartTime": { "type": "string" }, - "ViewExpandedText": { + "DeploymentType": { "type": "string" }, - "ViewOriginalText": { + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { "type": "string" } }, + "required": [ + "ThroughputCapacity" + ], "type": "object" }, - "AWS::Glue::Trigger": { + "AWS::GameLift::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41823,46 +45175,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" - }, "Description": { "type": "string" }, "Name": { "type": "string" }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "WorkflowName": { - "type": "string" + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" } }, "required": [ - "Actions", - "Type" + "Name", + "RoutingStrategy" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Trigger" + "AWS::GameLift::Alias" ], "type": "string" }, @@ -41881,76 +45212,22 @@ ], "type": "object" }, - "AWS::Glue::Trigger.Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Condition": { + "AWS::GameLift::Alias.RoutingStrategy": { "additionalProperties": false, "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { + "FleetId": { "type": "string" }, - "State": { + "Message": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" - }, - "type": "array" }, - "Logical": { + "Type": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Workflow": { + "AWS::GameLift::Build": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41982,24 +45259,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultRunProperties": { - "type": "object" - }, - "Description": { + "Name": { "type": "string" }, - "Name": { + "OperatingSystem": { "type": "string" }, - "Tags": { - "type": "object" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Workflow" + "AWS::GameLift::Build" ], "type": "string" }, @@ -42017,7 +45294,30 @@ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition": { + "AWS::GameLift::Build.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GameLift::Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42049,24 +45349,88 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" + "BuildId": { + "type": "string" + }, + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "LogPaths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinSize": { + "type": "number" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + }, + "ServerLaunchParameters": { + "type": "string" + }, + "ServerLaunchPath": { + "type": "string" } }, "required": [ + "EC2InstanceType", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinition" + "AWS::GameLift::Fleet" ], "type": "string" }, @@ -42085,41 +45449,92 @@ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition.Connector": { + "AWS::GameLift::Fleet.CertificateConfiguration": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { "type": "string" }, - "Id": { + "Protocol": { "type": "string" }, - "Parameters": { - "type": "object" + "ToPort": { + "type": "number" } }, "required": [ - "ConnectorArn", - "Id" + "FromPort", + "IpRange", + "Protocol", + "ToPort" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { "additionalProperties": false, "properties": { - "Connectors": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" }, "type": "array" } }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { + "type": "string" + }, + "Parameters": { + "type": "string" + } + }, "required": [ - "Connectors" + "ConcurrentExecutions", + "LaunchPath" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion": { + "AWS::GameLift::GameServerGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42151,25 +45566,63 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionId": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" + }, + "BalancingStrategy": { "type": "string" }, - "Connectors": { + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" }, "type": "array" } }, "required": [ - "ConnectorDefinitionId", - "Connectors" + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" + "AWS::GameLift::GameServerGroup" ], "type": "string" }, @@ -42188,26 +45641,64 @@ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "EstimatedInstanceWarmup": { + "type": "number" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { "type": "string" }, - "Id": { + "WeightedCapacity": { + "type": "string" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { "type": "string" }, - "Parameters": { - "type": "object" + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" } }, "required": [ - "ConnectorArn", - "Id" + "TargetValue" ], "type": "object" }, - "AWS::Greengrass::CoreDefinition": { + "AWS::GameLift::GameSessionQueue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42239,14 +45730,23 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "PlayerLatencyPolicies": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" + }, + "type": "array" + }, + "TimeoutInSeconds": { + "type": "number" } }, "required": [ @@ -42256,7 +45756,7 @@ }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinition" + "AWS::GameLift::GameSessionQueue" ], "type": "string" }, @@ -42275,45 +45775,28 @@ ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.Core": { + "AWS::GameLift::GameSessionQueue.Destination": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "DestinationArn": { "type": "string" } }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" + }, + "PolicyDurationSeconds": { + "type": "number" } }, - "required": [ - "Cores" - ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion": { + "AWS::GameLift::MatchmakingConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42345,25 +45828,66 @@ "Properties": { "additionalProperties": false, "properties": { - "CoreDefinitionId": { + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { "type": "string" }, - "Cores": { + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" }, "type": "array" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" } }, "required": [ - "CoreDefinitionId", - "Cores" + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" + "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" }, @@ -42382,30 +45906,23 @@ ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { + "Key": { "type": "string" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "Value": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" + "Key", + "Value" ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition": { + "AWS::GameLift::MatchmakingRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42437,24 +45954,22 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" - }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "RuleSetBody": { + "type": "string" } }, "required": [ - "Name" + "Name", + "RuleSetBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinition" + "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" }, @@ -42473,45 +45988,7 @@ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion": { + "AWS::GameLift::Script": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42543,25 +46020,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DeviceDefinitionId": { + "Name": { "type": "string" }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" } }, "required": [ - "DeviceDefinitionId", - "Devices" + "StorageLocation" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" + "AWS::GameLift::Script" ], "type": "string" }, @@ -42580,30 +46056,30 @@ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "AWS::GameLift::Script.S3Location": { "additionalProperties": false, "properties": { - "CertificateArn": { + "Bucket": { "type": "string" }, - "Id": { + "Key": { "type": "string" }, - "SyncShadow": { - "type": "boolean" + "ObjectVersion": { + "type": "string" }, - "ThingArn": { + "RoleArn": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42635,14 +46111,26 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" }, "Name": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42652,7 +46140,7 @@ }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinition" + "AWS::GlobalAccelerator::Accelerator" ], "type": "string" }, @@ -42671,144 +46159,7 @@ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" - }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42840,28 +46191,52 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" }, - "FunctionDefinitionId": { + "EndpointGroupRegion": { "type": "string" }, - "Functions": { + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" }, "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "FunctionDefinitionId", - "Functions" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" + "AWS::GlobalAccelerator::EndpointGroup" ], "type": "string" }, @@ -42880,126 +46255,41 @@ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "AccessSysfs": { + "ClientIPPreservationEnabled": { "type": "boolean" }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { + "EndpointId": { "type": "string" }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" + "Weight": { + "type": "number" } }, "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" + "EndpointId" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { "additionalProperties": false, "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { + "EndpointPort": { "type": "number" }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { + "ListenerPort": { "type": "number" } }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, "required": [ - "ResourceId" + "EndpointPort", + "ListenerPort" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { + "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43031,27 +46321,32 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { + "AcceleratorArn": { "type": "string" }, - "RoleArn": { + "ClientAffinity": { "type": "string" }, - "Tags": { - "type": "object" + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" } }, "required": [ - "Name" + "AcceleratorArn", + "PortRanges", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::Group" + "AWS::GlobalAccelerator::Listener" ], "type": "string" }, @@ -43070,34 +46365,23 @@ ], "type": "object" }, - "AWS::Greengrass::Group.GroupVersion": { + "AWS::GlobalAccelerator::Listener.PortRange": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" + "FromPort": { + "type": "number" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::Greengrass::GroupVersion": { + "AWS::Glue::Classifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43129,39 +46413,24 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" }, - "LoggerDefinitionVersionArn": { - "type": "string" + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" }, - "ResourceDefinitionVersionArn": { - "type": "string" + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" } }, - "required": [ - "GroupId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::GroupVersion" + "AWS::Glue::Classifier" ], "type": "string" }, @@ -43175,122 +46444,97 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition": { + "AWS::Glue::Classifier.CsvClassifier": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Delimiter": { + "type": "string" }, - "Metadata": { - "type": "object" + "DisableValueTrimming": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } + "Header": { + "items": { + "type": "string" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "QuoteSymbol": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.Logger": { + "AWS::Glue::Classifier.GrokClassifier": { "additionalProperties": false, "properties": { - "Component": { + "Classification": { "type": "string" }, - "Id": { + "CustomPatterns": { "type": "string" }, - "Level": { + "GrokPattern": { "type": "string" }, - "Space": { - "type": "number" + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" }, - "Type": { + "Name": { "type": "string" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "JsonPath" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "AWS::Glue::Classifier.XMLClassifier": { "additionalProperties": false, "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" } }, "required": [ - "Loggers" + "Classification", + "RowTag" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion": { + "AWS::Glue::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43322,25 +46566,22 @@ "Properties": { "additionalProperties": false, "properties": { - "LoggerDefinitionId": { + "CatalogId": { "type": "string" }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" } }, "required": [ - "LoggerDefinitionId", - "Loggers" + "CatalogId", + "ConnectionInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" + "AWS::Glue::Connection" ], "type": "string" }, @@ -43359,34 +46600,55 @@ ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "AWS::Glue::Connection.ConnectionInput": { "additionalProperties": false, "properties": { - "Component": { - "type": "string" + "ConnectionProperties": { + "type": "object" }, - "Id": { + "ConnectionType": { "type": "string" }, - "Level": { + "Description": { "type": "string" }, - "Space": { - "type": "number" + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { + "Name": { "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "ConnectionType" ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition": { + "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": { @@ -43418,24 +46680,55 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" }, "Name": { "type": "string" }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, "Tags": { "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" } }, "required": [ - "Name" + "Role", + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinition" + "AWS::Glue::Crawler" ], "type": "string" }, @@ -43454,184 +46747,118 @@ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "AWS::Glue::Crawler.CatalogTarget": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "DatabaseName": { "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { - "DestinationPath": { + "ConnectionName": { "type": "string" }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "DestinationPath", - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + "ConnectionName": { + "type": "string" }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { + "Exclusions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + "type": "string" }, "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" }, - "GroupPermission": { + "Path": { "type": "string" } }, - "required": [ - "GroupOwner", - "GroupPermission" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "AWS::Glue::Crawler.Schedule": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Name": { + "ScheduleExpression": { "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" } }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "AWS::Glue::Crawler.SchemaChangePolicy": { "additionalProperties": false, "properties": { - "DestinationPath": { + "DeleteBehavior": { "type": "string" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { + "UpdateBehavior": { "type": "string" } }, - "required": [ - "DestinationPath", - "S3Uri" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "AWS::Glue::Crawler.Targets": { "additionalProperties": false, "properties": { - "DestinationPath": { - "type": "string" + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" }, - "AdditionalStagingLabelsToDownload": { + "S3Targets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" }, "type": "array" } }, - "required": [ - "ARN" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion": { + "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43663,25 +46890,22 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceDefinitionId": { + "CatalogId": { "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" } }, "required": [ - "ResourceDefinitionId", - "Resources" + "CatalogId", + "DataCatalogEncryptionSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" + "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" }, @@ -43700,169 +46924,43 @@ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "KmsKeyId": { "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" }, - "SourcePath": { - "type": "string" + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { "additionalProperties": false, "properties": { - "DestinationPath": { + "CatalogEncryptionMode": { "type": "string" }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { + "SseAwsKmsKeyId": { "type": "string" } }, - "required": [ - "DestinationPath", - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "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": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition": { + "AWS::Glue::Database": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43894,24 +46992,22 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { + "CatalogId": { "type": "string" }, - "Tags": { - "type": "object" + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" } }, "required": [ - "Name" + "CatalogId", + "DatabaseInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinition" + "AWS::Glue::Database" ], "type": "string" }, @@ -43930,46 +47026,40 @@ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { + "CatalogId": { "type": "string" }, - "Target": { + "DatabaseName": { "type": "string" } }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" } }, - "required": [ - "Subscriptions" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { + "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44001,25 +47091,66 @@ "Properties": { "additionalProperties": false, "properties": { - "SubscriptionDefinitionId": { + "Arguments": { + "type": "object" + }, + "EndpointName": { "type": "string" }, - "Subscriptions": { + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" }, "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "SubscriptionDefinitionId", - "Subscriptions" + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" + "AWS::Glue::DevEndpoint" ], "type": "string" }, @@ -44038,31 +47169,7 @@ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector": { + "AWS::Glue::Job": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44094,24 +47201,70 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + "AllocatedCapacity": { + "type": "number" }, - "Enable": { - "type": "boolean" + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" }, - "FindingPublishingFrequency": { + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { "type": "string" } }, "required": [ - "Enable" + "Command", + "Role" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Glue::Job" ], "type": "string" }, @@ -44130,25 +47283,52 @@ ], "type": "object" }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "AWS::Glue::Job.ConnectionsList": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + "Connections": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "AWS::Glue::Job.ExecutionProperty": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "MaxConcurrentRuns": { + "type": "number" } }, "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44180,38 +47360,56 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, "Description": { "type": "string" }, - "DetectorId": { + "GlueVersion": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" }, "Name": { "type": "string" }, - "Rank": { + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" + "InputRecordTables", + "Role", + "TransformParameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Glue::MLTransform" ], "type": "string" }, @@ -44230,46 +47428,104 @@ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Glue::MLTransform.FindMatchesParameters": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { + "AccuracyCostTradeoff": { "type": "number" }, - "Lt": { - "type": "number" + "EnforceProvidedLabels": { + "type": "boolean" }, - "Lte": { + "PrecisionRecallTradeoff": { "type": "number" }, - "Neq": { + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" }, "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Filter.FindingCriteria": { + "AWS::Glue::MLTransform.MLUserDataEncryption": { "additionalProperties": false, "properties": { - "Criterion": { - "type": "object" + "KmsKeyId": { + "type": "string" }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + "MLUserDataEncryptionMode": { + "type": "string" } }, + "required": [ + "MLUserDataEncryptionMode" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44301,33 +47557,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { + "CatalogId": { "type": "string" }, - "Format": { + "DatabaseName": { "type": "string" }, - "Location": { - "type": "string" + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" }, - "Name": { + "TableName": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Glue::Partition" ], "type": "string" }, @@ -44346,155 +47599,181 @@ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Glue::Partition.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], + "SchemaArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchemaName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchameVersionId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, - "Metadata": { + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], + "type": "array" + }, + "SkewedColumnValueLocationMaps": { "type": "object" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Glue::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44526,33 +47805,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { + "Description": { "type": "string" }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::Glue::Registry" ], "type": "string" }, @@ -44571,7 +47844,7 @@ ], "type": "object" }, - "AWS::IAM::AccessKey": { + "AWS::Glue::Schema": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44603,24 +47876,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Serial": { - "type": "number" + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" }, - "Status": { + "Compatibility": { "type": "string" }, - "UserName": { + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "UserName" + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::AccessKey" + "AWS::Glue::Schema" ], "type": "string" }, @@ -44639,7 +47933,31 @@ ], "type": "object" }, - "AWS::IAM::Group": { + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44671,30 +47989,22 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" }, - "Path": { + "SchemaDefinition": { "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" } }, + "required": [ + "Schema", + "SchemaDefinition" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Group" + "AWS::Glue::SchemaVersion" ], "type": "string" }, @@ -44708,27 +48018,27 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::Group.Policy": { + "AWS::Glue::SchemaVersion.Schema": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "RegistryName": { + "type": "string" }, - "PolicyName": { + "SchemaArn": { + "type": "string" + }, + "SchemaName": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::InstanceProfile": { + "AWS::Glue::SchemaVersionMetadata": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44760,27 +48070,26 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { + "Key": { "type": "string" }, - "Path": { + "SchemaVersionId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "Value": { + "type": "string" } }, "required": [ - "Roles" + "Key", + "SchemaVersionId", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::Glue::SchemaVersionMetadata" ], "type": "string" }, @@ -44799,7 +48108,7 @@ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::Glue::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44831,45 +48140,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" }, - "Path": { + "Name": { "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "PolicyDocument" + "EncryptionConfiguration", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::Glue::SecurityConfiguration" ], "type": "string" }, @@ -44888,7 +48174,63 @@ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44920,40 +48262,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "CatalogId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" } }, "required": [ - "PolicyDocument", - "PolicyName" + "CatalogId", + "DatabaseName", + "TableInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::Glue::Table" ], "type": "string" }, @@ -44972,186 +48300,218 @@ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::Glue::Table.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" - }, - "RoleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssumeRolePolicyDocument" - ], - "type": "object" + "Name": { + "type": "string" }, "Type": { - "enum": [ - "AWS::IAM::Role" - ], "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { "type": "string" + }, + "SortOrder": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "Column", + "SortOrder" ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::Glue::Table.SchemaId": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchameVersionId": { + "type": "string" + }, + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "PolicyName": { + "SerializationLibrary": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::Glue::Table.SkewedInfo": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Location": { + "type": "string" }, - "Metadata": { + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { - "type": "string" - }, - "Description": { - "type": "string" - } + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" }, - "required": [ - "AWSServiceName" - ], + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Type": { - "enum": [ - "AWS::IAM::ServiceLinkedRole" - ], + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::IAM::User": { + "AWS::Glue::Trigger": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45183,48 +48543,46 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Trigger.Action" }, "type": "array" }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Description": { + "type": "string" }, - "Path": { + "Name": { "type": "string" }, - "PermissionsBoundary": { + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" + "StartOnCreation": { + "type": "boolean" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" }, - "UserName": { + "Type": { + "type": "string" + }, + "WorkflowName": { "type": "string" } }, + "required": [ + "Actions", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::Glue::Trigger" ], "type": "string" }, @@ -45238,42 +48596,81 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::Glue::Trigger.Action": { "additionalProperties": false, "properties": { - "Password": { + "Arguments": { + "type": "object" + }, + "CrawlerName": { "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Timeout": { + "type": "number" } }, - "required": [ - "Password" - ], "type": "object" }, - "AWS::IAM::User.Policy": { + "AWS::Glue::Trigger.Condition": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "CrawlState": { + "type": "string" }, - "PolicyName": { + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45305,25 +48702,24 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "DefaultRunProperties": { + "type": "object" + }, + "Description": { "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" } }, - "required": [ - "GroupName", - "Users" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::Glue::Workflow" ], "type": "string" }, @@ -45337,12 +48733,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45374,30 +48769,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" }, @@ -45411,11 +48800,46 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45447,27 +48871,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { + "ConnectorDefinitionId": { "type": "string" }, - "Tags": { + "Connectors": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" }, "type": "array" } }, "required": [ - "PublicKeyMaterial" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::PlaybackKeyPair" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" }, @@ -45486,7 +48908,26 @@ ], "type": "object" }, - "AWS::IVS::StreamKey": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45518,24 +48959,24 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelArn": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + }, + "Name": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, "required": [ - "ChannelArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::StreamKey" + "AWS::Greengrass::CoreDefinition" ], "type": "string" }, @@ -45554,7 +48995,45 @@ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45586,56 +49065,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { + "CoreDefinitionId": { "type": "string" }, - "SupportedOsVersions": { + "Cores": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" }, "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" } }, "required": [ - "Name", - "Platform", - "Version" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" }, @@ -45654,7 +49102,30 @@ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45686,37 +49157,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" }, @@ -45735,28 +49193,45 @@ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::Greengrass::DeviceDefinition.Device": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { - "type": "object" + "CertificateArn": { + "type": "string" }, - "LicenseConfigurationArns": { + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" }, "type": "array" - }, - "Region": { - "type": "string" } }, "required": [ - "Region" + "Devices" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::Greengrass::DeviceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45788,40 +49263,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { + "DeviceDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" }, - "type": "object" + "type": "array" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "DeviceDefinitionId", + "Devices" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" }, @@ -45840,19 +49300,30 @@ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "AWS::Greengrass::DeviceDefinitionVersion.Device": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { "type": "boolean" }, - "TimeoutMinutes": { - "type": "number" + "ThingArn": { + "type": "string" } }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::Greengrass::FunctionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45884,53 +49355,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::Greengrass::FunctionDefinition" ], "type": "string" }, @@ -45949,31 +49391,144 @@ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { "type": "boolean" }, - "TimeoutMinutes": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { "additionalProperties": false, "properties": { - "PipelineExecutionStartCondition": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { "type": "string" }, - "ScheduleExpression": { + "ResourceId": { "type": "string" } }, + "required": [ + "ResourceId" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46005,54 +49560,28 @@ "Properties": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" }, - "ParentImage": { + "FunctionDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" + "type": "array" } }, "required": [ - "Components", - "Name", - "ParentImage", - "Version" + "FunctionDefinitionId", + "Functions" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImageRecipe" + "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" }, @@ -46071,69 +49600,134 @@ ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { "additionalProperties": false, "properties": { - "ComponentArn": { - "type": "string" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" } }, + "required": [ + "Execution" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { + "AccessSysfs": { "type": "boolean" }, - "Encrypted": { - "type": "boolean" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" }, - "Iops": { - "type": "number" + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" }, - "KmsKeyId": { + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { "type": "string" }, - "SnapshotId": { + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { "type": "string" }, - "VolumeSize": { - "type": "number" + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" }, - "VolumeType": { + "Id": { "type": "string" } }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { "additionalProperties": false, "properties": { - "DeviceName": { + "EncodingType": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" }, - "NoDevice": { + "ExecArgs": { "type": "string" }, - "VirtualName": { + "Executable": { "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -46157,70 +49751,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { + "RoleArn": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::Greengrass::Group" ], "type": "string" }, @@ -46239,28 +49790,34 @@ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::Greengrass::Group.GroupVersion": { "additionalProperties": false, "properties": { - "S3BucketName": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "S3KeyPrefix": { + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { "type": "string" } }, "type": "object" }, - "AWS::Inspector::AssessmentTarget": { + "AWS::Greengrass::GroupVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46292,18 +49849,39 @@ "Properties": { "additionalProperties": false, "properties": { - "AssessmentTargetName": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "ResourceGroupArn": { + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { "type": "string" } }, + "required": [ + "GroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::AssessmentTarget" + "AWS::Greengrass::GroupVersion" ], "type": "string" }, @@ -46317,11 +49895,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Inspector::AssessmentTemplate": { + "AWS::Greengrass::LoggerDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46353,38 +49932,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AssessmentTargetArn": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" }, - "AssessmentTemplateName": { + "Name": { "type": "string" }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Tags": { + "type": "object" } }, "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::AssessmentTemplate" + "AWS::Greengrass::LoggerDefinition" ], "type": "string" }, @@ -46403,7 +49968,49 @@ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46435,21 +50042,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" }, "type": "array" } }, "required": [ - "ResourceGroupTags" + "LoggerDefinitionId", + "Loggers" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" }, @@ -46468,7 +50079,34 @@ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46500,22 +50138,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + }, + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Tags": { + "type": "object" } }, "required": [ - "DeviceId", - "Enabled" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Device" + "AWS::Greengrass::ResourceDefinition" ], "type": "string" }, @@ -46534,78 +50174,184 @@ ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" }, - "Metadata": { - "type": "object" + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" }, - "required": [ - "ProjectName" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" } }, "required": [ - "Type", - "Properties" + "Id", + "Name", + "ResourceDataContainer" ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46637,24 +50383,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ResourceDefinitionId": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" } }, "required": [ - "PlacementTemplate" + "ResourceDefinitionId", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" }, @@ -46673,31 +50420,169 @@ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "AutoAddGroupOwner": { + "type": "boolean" }, - "DeviceType": { + "GroupOwner": { "type": "string" } }, + "required": [ + "AutoAddGroupOwner" + ], "type": "object" }, - "AWS::IoT1Click::Project.PlacementTemplate": { + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { "additionalProperties": false, "properties": { - "DefaultAttributes": { - "type": "object" + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" }, - "DeviceTemplates": { - "type": "object" + "SourcePath": { + "type": "string" } }, + "required": [ + "SourcePath" + ], "type": "object" }, - "AWS::IoT::Authorizer": { + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "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": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46729,36 +50614,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" }, - "Status": { + "Name": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::IoT::Authorizer.Tags" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "$ref": "#/definitions/AWS::IoT::Authorizer.TokenSigningPublicKeys" + "type": "object" } }, "required": [ - "AuthorizerFunctionArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Authorizer" + "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" }, @@ -46777,24 +50650,46 @@ ], "type": "object" }, - "AWS::IoT::Authorizer.Tags": { + "AWS::Greengrass::SubscriptionDefinition.Subscription": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" } }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], "type": "object" }, - "AWS::IoT::Authorizer.TokenSigningPublicKeys": { + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { "additionalProperties": false, - "properties": {}, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::Greengrass::SubscriptionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46826,30 +50721,25 @@ "Properties": { "additionalProperties": false, "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { + "SubscriptionDefinitionId": { "type": "string" }, - "Status": { - "type": "string" + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" } }, "required": [ - "Status" + "SubscriptionDefinitionId", + "Subscriptions" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Certificate" + "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" }, @@ -46868,7 +50758,31 @@ ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46900,21 +50814,27 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "InlineRecipe": { "type": "string" + }, + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "PolicyDocument" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Policy" + "AWS::GreengrassV2::ComponentVersion" ], "type": "string" }, @@ -46928,12 +50848,206 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { + "additionalProperties": false, + "properties": { + "DependencyType": { + "type": "string" + }, + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" + }, + "MemorySizeInKB": { + "type": "number" + }, + "MountROSysfs": { + "type": "boolean" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { + "additionalProperties": false, + "properties": { + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" + }, + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InputPayloadEncodingType": { + "type": "string" + }, + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" + }, + "MaxIdleTimeInSeconds": { + "type": "number" + }, + "MaxInstancesCount": { + "type": "number" + }, + "MaxQueueSize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "StatusTimeoutInSeconds": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { + "additionalProperties": false, + "properties": { + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" + }, + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" + }, + "ComponentName": { + "type": "string" + }, + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" + }, + "ComponentVersion": { + "type": "string" + }, + "LambdaArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { + "additionalProperties": false, + "properties": { + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" + }, + "IsolationMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "DestinationPath": { + "type": "string" + }, + "Permission": { + "type": "string" + }, + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46965,22 +51079,24 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { - "type": "string" + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" }, - "Principal": { + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { "type": "string" } }, "required": [ - "PolicyName", - "Principal" + "Enable" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::GuardDuty::Detector" ], "type": "string" }, @@ -46999,7 +51115,25 @@ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate": { + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47031,37 +51165,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + "Description": { + "type": "string" }, - "ProvisioningRoleArn": { + "DetectorId": { "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" }, - "TemplateBody": { + "Name": { "type": "string" }, - "TemplateName": { - "type": "string" + "Rank": { + "type": "number" } }, "required": [ - "ProvisioningRoleArn", - "TemplateBody" + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ProvisioningTemplate" + "AWS::GuardDuty::Filter" ], "type": "string" }, @@ -47080,31 +51215,46 @@ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "AWS::GuardDuty::Filter.Condition": { "additionalProperties": false, "properties": { - "PayloadVersion": { - "type": "string" + "Eq": { + "items": { + "type": "string" + }, + "type": "array" }, - "TargetArn": { - "type": "string" + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::IoT::ProvisioningTemplate.Tags": { + "AWS::GuardDuty::Filter.FindingCriteria": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, "type": "object" }, - "AWS::IoT::Thing": { + "AWS::GuardDuty::IPSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47136,18 +51286,33 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + "Activate": { + "type": "boolean" }, - "ThingName": { + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::GuardDuty::IPSet" ], "type": "string" }, @@ -47161,26 +51326,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "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": { + "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47212,22 +51363,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "DetectorId": { "type": "string" }, - "ThingName": { + "InvitationId": { + "type": "string" + }, + "MasterId": { "type": "string" } }, "required": [ - "Principal", - "ThingName" + "DetectorId", + "MasterId" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::GuardDuty::Master" ], "type": "string" }, @@ -47246,7 +51400,7 @@ ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::GuardDuty::Member": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47278,21 +51432,35 @@ "Properties": { "additionalProperties": false, "properties": { - "RuleName": { + "DetectorId": { "type": "string" }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" } }, "required": [ - "TopicRulePayload" + "DetectorId", + "Email", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::TopicRule" + "AWS::GuardDuty::Member" ], "type": "string" }, @@ -47311,595 +51479,320 @@ ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::GuardDuty::ThreatIntelSet": { "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" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + "Metadata": { + "type": "object" }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatIntelSet" + ], "type": "string" }, - "TimeInSeconds": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TimeInSeconds" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyValue": { + "AWS::IAM::AccessKey": { "additionalProperties": false, "properties": { - "Quality": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" - } - }, - "required": [ - "Timestamp", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" + "Metadata": { + "type": "object" }, - "DoubleValue": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" }, - "IntegerValue": { + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], "type": "string" }, - "StringValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "AWS::IAM::Group": { "additionalProperties": false, "properties": { - "AlarmName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "StateReason": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Group.Policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Group" + ], "type": "string" }, - "StateValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" + "Type" ], "type": "object" }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { + "AWS::IAM::Group.Policy": { "additionalProperties": false, "properties": { - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricTimestamp": { - "type": "string" - }, - "MetricUnit": { - "type": "string" - }, - "MetricValue": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" + "PolicyDocument", + "PolicyName" ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBAction": { + "AWS::IAM::InstanceProfile": { "additionalProperties": false, "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RangeKeyField": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RangeKeyType": { - "type": "string" + "Metadata": { + "type": "object" }, - "RangeKeyValue": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { - "additionalProperties": false, - "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.ElasticsearchAction": { + "AWS::IAM::ManagedPolicy": { "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Index": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.FirehoseAction": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "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": { - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ChannelName", - "RoleArn" - ], - "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": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "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": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "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": { - "MessageFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SqsAction": { - "additionalProperties": false, - "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Actions", - "RuleDisabled", - "Sql" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -47923,27 +51816,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelName": { + "Description": { "type": "string" }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + "ManagedPolicyName": { + "type": "string" }, - "Tags": { + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" }, "type": "array" } }, + "required": [ + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Channel" + "AWS::IAM::ManagedPolicy" ], "type": "string" }, @@ -47957,59 +51868,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { + "AWS::IAM::OIDCProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48041,48 +51905,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" - }, - "ContentDeliveryRules": { + "ClientIdList": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + "type": "string" }, "type": "array" }, - "DatasetName": { - "type": "string" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "Triggers": { + "ThumbprintList": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + "type": "string" }, "type": "array" }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + "Url": { + "type": "string" } }, "required": [ - "Actions" + "ThumbprintList" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Dataset" + "AWS::IAM::OIDCProvider" ], "type": "string" }, @@ -48101,298 +51953,273 @@ ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Action": { + "AWS::IAM::Policy": { "additionalProperties": false, "properties": { - "ActionName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" - } - }, - "required": [ - "ActionName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" + "Metadata": { + "type": "object" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { + "Type": { + "enum": [ + "AWS::IAM::Policy" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" }, - "TimeExpression": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "OffsetSeconds", - "TimeExpression" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { - "DatabaseName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "AssumeRolePolicyDocument" + ], + "type": "object" }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { + "Type": { + "enum": [ + "AWS::IAM::Role" + ], "type": "string" }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "NumberOfDays", - "Unlimited" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { + "AWS::IAM::Role.Policy": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" - }, - "Key": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "PolicyDocument", + "PolicyName" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Schedule": { + "AWS::IAM::SAMLProvider": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DoubleValue": { - "type": "number" + "Metadata": { + "type": "object" }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" }, - "StringValue": { + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], "type": "string" }, - "VariableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "VariableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { + "AWS::IAM::ServerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48424,14 +52251,20 @@ "Properties": { "additionalProperties": false, "properties": { - "DatastoreName": { + "CertificateBody": { "type": "string" }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + "CertificateChain": { + "type": "string" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" }, "Tags": { "items": { @@ -48444,7 +52277,7 @@ }, "Type": { "enum": [ - "AWS::IoTAnalytics::Datastore" + "AWS::IAM::ServerCertificate" ], "type": "string" }, @@ -48462,55 +52295,7 @@ ], "type": "object" }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48542,30 +52327,24 @@ "Properties": { "additionalProperties": false, "properties": { - "PipelineActivities": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" - }, - "type": "array" + "AWSServiceName": { + "type": "string" }, - "PipelineName": { + "CustomSuffix": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Description": { + "type": "string" } }, "required": [ - "PipelineActivities" + "AWSServiceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Pipeline" + "AWS::IAM::ServiceLinkedRole" ], "type": "string" }, @@ -48584,214 +52363,487 @@ ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Activity": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" - }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" - }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + "Metadata": { + "type": "object" }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::User" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Channel": { + "AWS::IAM::User.LoginProfile": { "additionalProperties": false, "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { + "Password": { "type": "string" }, - "Next": { - "type": "string" + "PasswordResetRequired": { + "type": "boolean" } }, + "required": [ + "Password" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Datastore": { + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { - "DatastoreName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Name": { + "PolicyName": { "type": "string" } }, + "required": [ + "PolicyDocument", + "PolicyName" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { - "Attribute": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" + "Metadata": { + "type": "object" }, - "RoleArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], "type": "string" }, - "ThingName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { + "AWS::IAM::VirtualMFADevice": { "additionalProperties": false, "properties": { - "Attribute": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" + "Metadata": { + "type": "object" }, - "RoleArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } + }, + "required": [ + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], "type": "string" }, - "ThingName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Filter": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { - "Filter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "LambdaName": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Authorized": { + "type": "boolean" + }, + "LatencyMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IVS::Channel" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Math": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { - "Attribute": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Math": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "PublicKeyMaterial" + ], + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "ChannelArn" + ], + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48823,36 +52875,56 @@ "Properties": { "additionalProperties": false, "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + "ChangeDescription": { + "type": "string" }, - "DetectorModelDescription": { + "Data": { "type": "string" }, - "DetectorModelName": { + "Description": { "type": "string" }, - "EvaluationMethod": { + "KmsKeyId": { "type": "string" }, - "Key": { + "Name": { "type": "string" }, - "RoleArn": { + "Platform": { "type": "string" }, - "Tags": { + "SupportedOsVersions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" } }, + "required": [ + "Name", + "Platform", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::DetectorModel" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -48866,419 +52938,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.Action": { - "additionalProperties": false, - "properties": { - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" - } - }, - "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": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "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": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "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" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - }, - "NextState": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::Input": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49310,27 +52975,71 @@ "Properties": { "additionalProperties": false, "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" + }, + "type": "array" }, - "InputDescription": { + "ContainerType": { "type": "string" }, - "InputName": { + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, + "required": [ + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::Input" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -49344,32 +53053,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTEvents::Input.Attribute": { + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "JsonPath": { + "ComponentArn": { "type": "string" } }, "type": "object" }, - "AWS::IoTEvents::Input.InputDefinition": { + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" } }, "type": "object" }, - "AWS::IoTSiteWise::Asset": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49401,40 +53111,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { - "type": "string" - }, - "AssetName": { + "Description": { "type": "string" }, - "AssetProperties": { + "Distributions": { "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" }, "type": "array" }, + "Name": { + "type": "string" + }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "AssetModelId", - "AssetName" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Asset" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -49453,41 +53160,31 @@ ], "type": "object" }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "ChildAssetId": { - "type": "string" + "AmiDistributionConfiguration": { + "type": "object" }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" + "ContainerDistributionConfiguration": { + "type": "object" }, - "LogicalId": { - "type": "string" + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "NotificationState": { + "Region": { "type": "string" } }, "required": [ - "LogicalId" + "Region" ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel": { + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49519,39 +53216,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetModelDescription": { + "ContainerRecipeArn": { "type": "string" }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" + "DistributionConfigurationArn": { + "type": "string" }, - "AssetModelName": { + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { "type": "string" }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "AssetModelName" + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::AssetModel" + "AWS::ImageBuilder::Image" ], "type": "string" }, @@ -49570,178 +53270,142 @@ ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "ChildAssetModelId": { - "type": "string" - }, - "LogicalId": { - "type": "string" + "ImageTestsEnabled": { + "type": "boolean" }, - "Name": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { - "DataType": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" + "Metadata": { + "type": "object" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + "required": [ + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" }, - "TypeName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TypeName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.Transform": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { "additionalProperties": false, "properties": { - "Expression": { - "type": "string" + "ImageTestsEnabled": { + "type": "boolean" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" + "TimeoutMinutes": { + "type": "number" } }, - "required": [ - "Interval" - ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { + "AWS::ImageBuilder::ImagePipeline.Schedule": { "additionalProperties": false, "properties": { - "HierarchyLogicalId": { + "PipelineExecutionStartCondition": { "type": "string" }, - "PropertyLogicalId": { + "ScheduleExpression": { "type": "string" } }, - "required": [ - "PropertyLogicalId" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway": { + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49773,34 +53437,54 @@ "Properties": { "additionalProperties": false, "properties": { - "GatewayCapabilitySummaries": { + "BlockDeviceMappings": { "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" }, "type": "array" }, - "GatewayName": { + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ - "GatewayName", - "GatewayPlatform" + "Components", + "Name", + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Gateway" + "AWS::ImageBuilder::ImageRecipe" ], "type": "string" }, @@ -49819,46 +53503,61 @@ ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { + "ComponentArn": { "type": "string" } }, - "required": [ - "CapabilityNamespace" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" } }, - "required": [ - "Greengrass" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.Greengrass": { + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { "additionalProperties": false, "properties": { - "GroupArn": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { "type": "string" } }, - "required": [ - "GroupArn" - ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49890,21 +53589,70 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "Description": { + "type": "string" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "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": [ - "Definition" + "InstanceProfileName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::ImageBuilder::InfrastructureConfiguration" ], "type": "string" }, @@ -49923,23 +53671,28 @@ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { "additionalProperties": false, "properties": { - "Language": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { "type": "string" }, - "Text": { + "S3KeyPrefix": { "type": "string" } }, - "required": [ - "Language", - "Text" - ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49971,22 +53724,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasName": { + "AssessmentTargetName": { "type": "string" }, - "TargetKeyId": { + "ResourceGroupArn": { "type": "string" } }, - "required": [ - "AliasName", - "TargetKeyId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Alias" + "AWS::Inspector::AssessmentTarget" ], "type": "string" }, @@ -50000,12 +53749,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KMS::Key": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50037,25 +53785,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AssessmentTargetArn": { "type": "string" }, - "EnableKeyRotation": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "KeyUsage": { + "AssessmentTemplateName": { "type": "string" }, - "PendingWindowInDays": { + "DurationInSeconds": { "type": "number" }, - "Tags": { + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { "items": { "$ref": "#/definitions/Tag" }, @@ -50063,13 +53808,15 @@ } }, "required": [ - "KeyPolicy" + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Key" + "AWS::Inspector::AssessmentTemplate" ], "type": "string" }, @@ -50088,7 +53835,7 @@ ], "type": "object" }, - "AWS::Kendra::DataSource": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50120,43 +53867,21 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::Kendra::DataSource.TagList" - }, - "Type": { - "type": "string" + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DataSourceConfiguration", - "IndexId", - "Name", - "RoleArn", - "Type" + "ResourceGroupTags" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::DataSource" + "AWS::Inspector::ResourceGroup" ], "type": "string" }, @@ -50175,657 +53900,553 @@ ], "type": "object" }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { - "additionalProperties": false, - "properties": { - "KeyPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.AclConfiguration": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { - "AllowedGroupsColumnName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "AllowedGroupsColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ChangeDetectingColumns": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" }, - "DocumentDataColumnName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DocumentIdColumnName": { - "type": "string" + "Metadata": { + "type": "object" }, - "DocumentTitleColumnName": { + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], "type": "string" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { - "DatabaseHost": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DatabaseName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DatabasePort": { - "type": "number" + "Metadata": { + "type": "object" }, - "SecretArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + "Metadata": { + "type": "object" }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { - "additionalProperties": false, - "properties": { - "DataSourceInclusionsExclusionsStrings": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" + "required": [ + "PlacementTemplate" + ], + "type": "object" }, - "DateFieldFormat": { + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], "type": "string" }, - "IndexFieldName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DataSourceFieldName", - "IndexFieldName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { + "AWS::IoT1Click::Project.DeviceTemplate": { "additionalProperties": false, "properties": { - "DataSourceToIndexFieldMappingList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "AWS::IoT1Click::Project.PlacementTemplate": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DefaultAttributes": { + "type": "object" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeviceTemplates": { + "type": "object" } }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], "type": "object" }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { + "AWS::IoT::AccountAuditConfiguration": { "additionalProperties": false, "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + "Metadata": { + "type": "object" }, - "DatabaseEngineType": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], + "type": "string" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { "additionalProperties": false, "properties": { - "S3Prefix": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { "additionalProperties": false, "properties": { - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "SecretArn": { - "type": "string" + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "TenantDomain": { - "type": "string" - } - }, - "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUserList": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "BucketName": { - "type": "string" + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "InclusionPrefixes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "Key": { - "type": "string" + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" } }, - "required": [ - "Bucket", - "Key" - ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "DocumentTitleFieldName": { + "RoleArn": { "type": "string" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeFilterTypes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" + "TargetArn": { + "type": "string" } }, - "required": [ - "DocumentDataFieldName" - ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { "additionalProperties": false, "properties": { - "SalesforceChatterFeedIncludeFilterTypes": { - "items": { - "type": "string" - }, - "type": "array" + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" } }, "type": "object" }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { + "AWS::IoT::Authorizer": { "additionalProperties": false, "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" - } - }, - "required": [ - "SecretArn", - "ServerUrl" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerFunctionArn": { + "type": "string" + }, + "AuthorizerName": { + "type": "string" + }, + "SigningDisabled": { + "type": "boolean" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TokenKeyName": { + "type": "string" + }, + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" - }, - "IncludedStates": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" + "required": [ + "AuthorizerFunctionArn" + ], + "type": "object" }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" - } - }, - "required": [ - "IncludedStates" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { - "additionalProperties": false, - "properties": { - "SalesforceKnowledgeArticleStateList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { + "Type": { + "enum": [ + "AWS::IoT::Authorizer" + ], "type": "string" }, - "DocumentTitleFieldName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, "required": [ - "DocumentDataFieldName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "AWS::IoT::Certificate": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceStandardObjectConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { - "type": "string" - } - }, - "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "required": [ + "Status" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], "type": "string" }, - "SharePointVersion": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UseChangeLog": { - "type": "boolean" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, "required": [ - "SecretArn", - "SharePointVersion", - "Urls" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SqlConfiguration": { - "additionalProperties": false, - "properties": { - "QueryIdentifiersEnclosingOption": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Faq": { + "AWS::IoT::CustomMetric": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50857,39 +54478,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FileFormat": { - "type": "string" - }, - "IndexId": { + "DisplayName": { "type": "string" }, - "Name": { + "MetricName": { "type": "string" }, - "RoleArn": { + "MetricType": { "type": "string" }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" - }, "Tags": { - "$ref": "#/definitions/AWS::Kendra::Faq.TagList" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" + "MetricType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Faq" + "AWS::IoT::CustomMetric" ], "type": "string" }, @@ -50908,35 +54520,7 @@ ], "type": "object" }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Faq.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index": { + "AWS::IoT::Dimension": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50968,41 +54552,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { - "type": "string" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfigurationList" - }, - "Edition": { - "type": "string" - }, "Name": { "type": "string" }, - "RoleArn": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { - "$ref": "#/definitions/AWS::Kendra::Index.TagList" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "Edition", - "Name", - "RoleArn" + "StringValues", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Index" + "AWS::IoT::Dimension" ], "type": "string" }, @@ -51021,149 +54598,15 @@ ], "type": "object" }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { + "AWS::IoT::DomainConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfigurationList": { - "additionalProperties": false, - "properties": { - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItems": { - "additionalProperties": false, - "properties": { - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -51187,33 +54630,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { "type": "string" }, - "RetentionPeriodHours": { - "type": "number" + "DomainConfigurationStatus": { + "type": "string" }, - "ShardCount": { - "type": "number" + "DomainName": { + "type": "string" }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + "ServerCertificateArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" } }, - "required": [ - "ShardCount" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Kinesis::Stream" + "AWS::IoT::DomainConfiguration" ], "type": "string" }, @@ -51227,94 +54679,38 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Kinesis::Stream.StreamEncryption": { + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { "additionalProperties": false, "properties": { - "EncryptionType": { - "type": "string" + "AllowAuthorizerOverride": { + "type": "boolean" }, - "KeyId": { + "DefaultAuthorizerName": { "type": "string" } }, - "required": [ - "EncryptionType", - "KeyId" - ], "type": "object" }, - "AWS::Kinesis::StreamConsumer": { + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerCertificateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerName": { - "type": "string" - }, - "StreamARN": { - "type": "string" - } - }, - "required": [ - "ConsumerName", - "StreamARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::StreamConsumer" - ], + "ServerCertificateStatus": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerCertificateStatusDetail": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application": { + "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51346,30 +54742,31 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationCode": { + "ActionName": { "type": "string" }, - "ApplicationDescription": { - "type": "string" + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" }, - "ApplicationName": { + "RoleArn": { "type": "string" }, - "Inputs": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "Inputs" + "ActionParams", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::Application" + "AWS::IoT::MitigationAction" ], "type": "string" }, @@ -51388,197 +54785,113 @@ ], "type": "object" }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.Input": { + "AWS::IoT::MitigationAction.ActionParams": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" }, - "NamePrefix": { - "type": "string" + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" } }, - "required": [ - "InputSchema", - "NamePrefix" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" + "OverrideDynamicGroups": { + "type": "boolean" }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { + "ThingGroupNames": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + "type": "string" }, "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "ThingGroupNames" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { "type": "string" } }, "required": [ - "RecordRowPath" + "LogLevel", + "RoleArnForLogging" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TopicArn": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TopicArn" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TemplateName": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TemplateName" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { + "Action": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.RecordFormat": { + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { + "Action": { "type": "string" } }, "required": [ - "RecordFormatType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput": { + "AWS::IoT::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51610,22 +54923,21 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + "PolicyName": { + "type": "string" } }, "required": [ - "ApplicationName", - "Output" + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" + "AWS::IoT::Policy" ], "type": "string" }, @@ -51644,88 +54956,73 @@ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "AWS::IoT::PolicyPrincipalAttachment": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" + "Metadata": { + "type": "object" }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" }, - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DestinationSchema" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "AWS::IoT::ProvisioningTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51757,22 +55054,40 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Description": { "type": "string" }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" } }, "required": [ - "ApplicationName", - "ReferenceDataSource" + "ProvisioningRoleArn", + "TemplateBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + "AWS::IoT::ProvisioningTemplate" ], "type": "string" }, @@ -51791,141 +55106,103 @@ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "PayloadVersion": { "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { + "TargetArn": { "type": "string" } }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "AWS::IoT::ScheduledAudit": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + "Metadata": { + "type": "object" }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" }, - "FileKey": { + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], "type": "string" }, - "ReferenceRoleARN": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application": { + "AWS::IoT::SecurityProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51957,19 +55234,31 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" }, - "ApplicationDescription": { - "type": "string" + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" }, - "ApplicationName": { - "type": "string" + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" }, - "RuntimeEnvironment": { + "SecurityProfileDescription": { "type": "string" }, - "ServiceExecutionRole": { + "SecurityProfileName": { "type": "string" }, "Tags": { @@ -51977,17 +55266,19 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::Application" + "AWS::IoT::SecurityProfile" ], "type": "string" }, @@ -52001,388 +55292,246 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "AWS::IoT::SecurityProfile.AlertTarget": { "additionalProperties": false, "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + "AlertTargetArn": { + "type": "string" }, - "CodeContentType": { + "RoleArn": { "type": "string" } }, "required": [ - "CodeContent", - "CodeContentType" + "AlertTargetArn", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "AWS::IoT::SecurityProfile.Behavior": { "additionalProperties": false, "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + "Metric": { + "type": "string" }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + "Name": { + "type": "string" }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { + "SuppressAlerts": { "type": "boolean" } }, "required": [ - "SnapshotsEnabled" + "Name" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "AWS::IoT::SecurityProfile.BehaviorCriteria": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "ComparisonOperator": { "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { + "ConsecutiveDatapointsToAlarm": { "type": "number" }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" + "ConsecutiveDatapointsToClear": { + "type": "number" }, - "MinPauseBetweenCheckpoints": { + "DurationSeconds": { "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" }, - "TextContent": { - "type": "string" + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { "additionalProperties": false, "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + "ConfidenceLevel": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.Input": { + "AWS::IoT::SecurityProfile.MetricDimension": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + "DimensionName": { + "type": "string" }, - "NamePrefix": { + "Operator": { "type": "string" } }, "required": [ - "InputSchema", - "NamePrefix" + "DimensionName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Metric": { "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" } }, "required": [ - "ResourceARN" + "Metric" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "AWS::IoT::SecurityProfile.MetricValue": { "additionalProperties": false, "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, "Count": { + "type": "string" + }, + "Number": { "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { + }, + "Numbers": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + "type": "number" }, "type": "array" }, - "RecordEncoding": { - "type": "string" + "Ports": { + "items": { + "type": "number" + }, + "type": "array" }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" + "Strings": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RecordRowPath" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Statistic": { "type": "string" } }, - "required": [ - "ResourceARN" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "AWS::IoT::Thing": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LogLevel": { - "type": "string" + "Metadata": { + "type": "object" }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" }, - "ConfigurationType": { + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], "type": "string" }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ConfigurationType" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "AWS::IoT::Thing.AttributePayload": { "additionalProperties": false, "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "AWS::IoT::ThingPrincipalAttachment": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -52406,22 +55555,22 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Principal": { "type": "string" }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + "ThingName": { + "type": "string" } }, "required": [ - "ApplicationName", - "CloudWatchLoggingOption" + "Principal", + "ThingName" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + "AWS::IoT::ThingPrincipalAttachment" ], "type": "string" }, @@ -52440,19 +55589,7 @@ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "AWS::IoT::TopicRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52484,22 +55621,21 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "RuleName": { "type": "string" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } }, "required": [ - "ApplicationName", - "Output" + "TopicRulePayload" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" + "AWS::IoT::TopicRule" ], "type": "string" }, @@ -52518,1146 +55654,1227 @@ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "AWS::IoT::TopicRule.Action": { "additionalProperties": false, "properties": { - "RecordFormatType": { - "type": "string" + "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" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "ResourceARN": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { "type": "string" } }, "required": [ - "ResourceARN" + "TimeInSeconds" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "AWS::IoT::TopicRule.AssetPropertyValue": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Quality": { "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" } }, "required": [ - "ResourceARN" + "Timestamp", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "AWS::IoT::TopicRule.AssetPropertyVariant": { "additionalProperties": false, "properties": { - "ResourceARN": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { "type": "string" } }, "required": [ - "ResourceARN" + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + "MetricName": { + "type": "string" }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + "MetricNamespace": { + "type": "string" }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + "MetricTimestamp": { + "type": "string" }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + "MetricUnit": { + "type": "string" }, - "Name": { + "MetricValue": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, "required": [ - "DestinationSchema" + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "AWS::IoT::TopicRule.DynamoDBAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HashKeyField": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "HashKeyType": { + "type": "string" }, - "Metadata": { - "type": "object" + "HashKeyValue": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" + "PayloadField": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], + "RangeKeyField": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::TopicRule.DynamoDBv2Action": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { "type": "string" }, - "RecordRowDelimiter": { + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { "type": "string" } }, "required": [ - "RecordRowPath" + "DeliveryStreamName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "AWS::IoT::TopicRule.HttpAction": { "additionalProperties": false, "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" } }, + "required": [ + "Url" + ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "AWS::IoT::TopicRule.HttpActionHeader": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { + "Key": { "type": "string" }, - "SqlType": { + "Value": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Key", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "AWS::IoT::TopicRule.HttpAuthorization": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" }, - "RecordFormatType": { + "RoleArn": { "type": "string" } }, "required": [ - "RecordFormatType" + "ChannelName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + "InputName": { + "type": "string" }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + "MessageId": { + "type": "string" }, - "TableName": { + "RoleArn": { "type": "string" } }, "required": [ - "ReferenceSchema" + "InputName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "AWS::IoT::TopicRule.IotSiteWiseAction": { "additionalProperties": false, "properties": { - "RecordColumns": { + "PutAssetPropertyValueEntries": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" }, "type": "array" }, - "RecordEncoding": { + "RoleArn": { "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "PutAssetPropertyValueEntries", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { - "BucketARN": { + "PartitionKey": { "type": "string" }, - "FileKey": { + "RoleArn": { + "type": "string" + }, + "StreamName": { "type": "string" } }, "required": [ - "BucketARN", - "FileKey" + "RoleArn", + "StreamName" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream": { + "AWS::IoT::TopicRule.LambdaAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EntryId": { + "type": "string" }, - "Metadata": { - "type": "object" + "PropertyAlias": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], + "PropertyId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" } }, "required": [ - "Type" + "PropertyValues" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" + "TableName": { + "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" + "Qos": { + "type": "number" }, - "LogGroupName": { + "RoleArn": { "type": "string" }, - "LogStreamName": { + "Topic": { "type": "string" } }, + "required": [ + "RoleArn", + "Topic" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "AWS::IoT::TopicRule.S3Action": { "additionalProperties": false, "properties": { - "CopyOptions": { + "BucketName": { "type": "string" }, - "DataTableColumns": { + "Key": { "type": "string" }, - "DataTableName": { + "RoleArn": { "type": "string" } }, "required": [ - "DataTableName" + "BucketName", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "AWS::IoT::TopicRule.SigV4Authorization": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + "RoleArn": { + "type": "string" }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + "ServiceName": { + "type": "string" }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + "SigningRegion": { + "type": "string" } }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { - "KeyARN": { + "MessageFormat": { "type": "string" }, - "KeyType": { + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "KeyType" + "RoleArn", + "TargetArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "AWS::IoT::TopicRule.SqsAction": { "additionalProperties": false, "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + "QueueUrl": { + "type": "string" }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" } }, + "required": [ + "QueueUrl", + "RoleArn" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "AWS::IoT::TopicRule.StepFunctionsAction": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" + "ExecutionNamePrefix": { + "type": "string" }, - "SizeInMBs": { - "type": "number" + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" } }, + "required": [ + "RoleArn", + "StateMachineName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" }, - "IndexRotationPeriod": { + "AwsIotSqlVersion": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { + "Description": { "type": "string" }, - "S3BackupMode": { - "type": "string" + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "RuleDisabled": { + "type": "boolean" }, - "TypeName": { + "Sql": { "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "IndexName", - "RoleARN", - "S3Configuration" + "Actions", + "RuleDisabled", + "Sql" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "AWS::IoT::TopicRuleDestination": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Prefix": { - "type": "string" + "Metadata": { + "type": "object" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" }, - "RoleARN": { + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], "type": "string" }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { "additionalProperties": false, "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeValue": { + "ConfirmationUrl": { "type": "string" } }, - "required": [ - "AttributeName", - "AttributeValue" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { "additionalProperties": false, "properties": { - "AccessKey": { + "RoleArn": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Url": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, - "required": [ - "Url" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "AWS::IoTAnalytics::Channel": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + "Metadata": { + "type": "object" }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "RoleARN": { + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], "type": "string" }, - "S3BackupMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "EndpointConfiguration", - "S3Configuration" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "AWS::IoTAnalytics::Channel.ChannelStorage": { "additionalProperties": false, "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" }, - "ContentEncoding": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { "additionalProperties": false, "properties": { - "AWSKMSKeyARN": { + "Bucket": { "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { + }, + "KeyPrefix": { "type": "string" }, - "RoleARN": { + "RoleArn": { "type": "string" } }, "required": [ - "KinesisStreamARN", - "RoleARN" + "Bucket", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "AWS::IoTAnalytics::Channel.RetentionPeriod": { "additionalProperties": false, "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "NumberOfDays": { + "type": "number" }, - "ConvertDotsInJsonKeysToUnderscores": { + "Unlimited": { "type": "boolean" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PaddingTolerance": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RowIndexStride": { - "type": "number" + "Metadata": { + "type": "object" }, - "StripeSizeBytes": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "AWS::IoTAnalytics::Dataset.Action": { "additionalProperties": false, "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + "ActionName": { + "type": "string" + }, + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + }, + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" } }, + "required": [ + "ActionName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "AWS::IoTAnalytics::Dataset.ContainerAction": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "Compression": { + "ExecutionRoleArn": { "type": "string" }, - "EnableDictionaryCompression": { - "type": "boolean" + "Image": { + "type": "string" }, - "MaxPaddingBytes": { - "type": "number" + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" }, - "PageSizeBytes": { - "type": "number" + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" }, - "WriterVersion": { + "EntryName": { "type": "string" } }, + "required": [ + "Destination" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" + "DatasetName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTime": { + "additionalProperties": false, + "properties": { + "OffsetSeconds": { + "type": "number" }, - "Type": { + "TimeExpression": { "type": "string" } }, "required": [ - "Type" + "OffsetSeconds", + "TimeExpression" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { "additionalProperties": false, "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" + "TimeoutInMinutes": { + "type": "number" } }, "required": [ - "ParameterName", - "ParameterValue" + "TimeoutInMinutes" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.Filter": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { "type": "string" }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { + "TableName": { "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "InputName": { "type": "string" }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { + "RoleArn": { "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRule": { + "additionalProperties": false, + "properties": { + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { + "RuleName": { "type": "string" } }, "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" + "RuleConfiguration" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "FileName": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.QueryAction": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" }, - "RoleARN": { + "SqlQuery": { "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "SqlQuery" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { + "ComputeType": { "type": "string" }, - "VersionId": { - "type": "string" + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { "additionalProperties": false, "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + "NumberOfDays": { + "type": "number" }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + "Unlimited": { + "type": "boolean" } }, + "required": [ + "NumberOfDays", + "Unlimited" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { + "Bucket": { "type": "string" }, - "HECEndpointType": { - "type": "string" + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" }, - "HECToken": { + "Key": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { + "RoleArn": { "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "AWS::IoTAnalytics::Dataset.Schedule": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "ScheduleExpression": { + "type": "string" } }, + "required": [ + "ScheduleExpression" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "AWS::IoTAnalytics::Dataset.Trigger": { "additionalProperties": false, "properties": { - "RoleARN": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" } }, "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" + "DatasetName" ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings": { + "AWS::IoTAnalytics::Dataset.Variable": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" }, - "Metadata": { - "type": "object" + "DoubleValue": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" - }, - "TrustedResourceOwners": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" }, - "Type": { - "enum": [ - "AWS::LakeFormation::DataLakeSettings" - ], + "StringValue": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "VariableName": { "type": "string" } }, "required": [ - "Type" + "VariableName" ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" } }, "type": "object" }, - "AWS::LakeFormation::Permissions": { + "AWS::IoTAnalytics::Datastore": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -53689,34 +56906,30 @@ "Properties": { "additionalProperties": false, "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + "DatastoreName": { + "type": "string" }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" }, - "PermissionsWithGrantOption": { + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" } }, - "required": [ - "DataLakePrincipal", - "Resource" - ], "type": "object" }, "Type": { "enum": [ - "AWS::LakeFormation::Permissions" + "AWS::IoTAnalytics::Datastore" ], "type": "string" }, @@ -53730,122 +56943,113 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { + "AWS::IoTAnalytics::Datastore.Column": { "additionalProperties": false, "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" + }, + "Type": { + "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, + "required": [ + "Bucket", + "RoleArn" + ], "type": "object" }, - "AWS::LakeFormation::Permissions.DataLocationResource": { + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" }, - "S3Resource": { - "type": "string" + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DatabaseResource": { + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" }, - "Name": { - "type": "string" + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.Resource": { + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { "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" + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableResource": { + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" + "NumberOfDays": { + "type": "number" }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + "Unlimited": { + "type": "boolean" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "ColumnNames": { + "Columns": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" }, "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Resource": { + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -53877,25 +57081,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceArn": { - "type": "string" + "PipelineActivities": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + }, + "type": "array" }, - "RoleArn": { + "PipelineName": { "type": "string" }, - "UseServiceLinkedRole": { - "type": "boolean" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ResourceArn", - "UseServiceLinkedRole" + "PipelineActivities" ], "type": "object" }, "Type": { "enum": [ - "AWS::LakeFormation::Resource" + "AWS::IoTAnalytics::Pipeline" ], "type": "string" }, @@ -53914,240 +57123,214 @@ ], "type": "object" }, - "AWS::Lambda::Alias": { + "AWS::IoTAnalytics::Pipeline.Activity": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" }, - "Metadata": { - "type": "object" + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.AddAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { "type": "object" }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "AWS::IoTAnalytics::Pipeline.Channel": { "additionalProperties": false, "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" - }, - "type": "array" + "ChannelName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" } }, - "required": [ - "AdditionalVersionWeights" - ], "type": "object" }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "AWS::IoTAnalytics::Pipeline.Datastore": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "DatastoreName": { + "type": "string" + }, + "Name": { + "type": "string" } }, - "required": [ - "ProvisionedConcurrentExecutions" - ], "type": "object" }, - "AWS::Lambda::Alias.VersionWeight": { + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { "additionalProperties": false, "properties": { - "FunctionVersion": { + "Attribute": { "type": "string" }, - "FunctionWeight": { - "type": "number" + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" } }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig": { + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { - "type": "object" + "Next": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" - }, - "FunctionName": { - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "Qualifier": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "type": "object" + "RoleArn": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::EventInvokeConfig" - ], + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Filter": { + "additionalProperties": false, + "properties": { + "Filter": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "AWS::IoTAnalytics::Pipeline.Lambda": { "additionalProperties": false, "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + "BatchSize": { + "type": "number" }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + "LambdaName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { + "AWS::IoTAnalytics::Pipeline.Math": { "additionalProperties": false, "properties": { - "Destination": { + "Attribute": { + "type": "string" + }, + "Math": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { "additionalProperties": false, "properties": { - "Destination": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventSourceMapping": { + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54179,67 +57362,36 @@ "Properties": { "additionalProperties": false, "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" }, - "EventSourceArn": { + "DetectorModelDescription": { "type": "string" }, - "FunctionName": { + "DetectorModelName": { "type": "string" }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" + "EvaluationMethod": { + "type": "string" }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" + "Key": { + "type": "string" }, - "StartingPosition": { + "RoleArn": { "type": "string" }, - "Topics": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, - "required": [ - "EventSourceArn", - "FunctionName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::EventSourceMapping" + "AWS::IoTEvents::DetectorModel" ], "type": "string" }, @@ -54253,253 +57405,419 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "AWS::IoTEvents::DetectorModel.Action": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, - "URI": { - "type": "string" + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" } }, "type": "object" }, - "AWS::Lambda::Function": { + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OffsetInNanos": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "TimeInSeconds": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" }, - "Metadata": { - "type": "object" + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Handler", - "Role", - "Runtime" - ], - "type": "object" + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], + "DoubleValue": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IntegerValue": { + "type": "string" + }, + "StringValue": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Function.Code": { + "AWS::IoTEvents::DetectorModel.ClearTimer": { "additionalProperties": false, "properties": { - "S3Bucket": { + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { "type": "string" }, - "S3Key": { + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { "type": "string" }, - "S3ObjectVersion": { + "HashKeyType": { "type": "string" }, - "ZipFile": { + "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::Lambda::Function.DeadLetterConfig": { + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { "additionalProperties": false, "properties": { - "TargetArn": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.Environment": { + "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" }, - "type": "object" + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.FileSystemConfig": { + "AWS::IoTEvents::DetectorModel.Firehose": { "additionalProperties": false, "properties": { - "Arn": { + "DeliveryStreamName": { "type": "string" }, - "LocalMountPath": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { "type": "string" } }, - "required": [ - "Arn", - "LocalMountPath" - ], "type": "object" }, - "AWS::Lambda::Function.TracingConfig": { + "AWS::IoTEvents::DetectorModel.IotEvents": { "additionalProperties": false, "properties": { - "Mode": { + "InputName": { "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, "type": "object" }, - "AWS::Lambda::Function.VpcConfig": { + "AWS::IoTEvents::DetectorModel.IotSiteWise": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" }, "type": "array" }, - "SubnetIds": { + "TransitionEvents": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" }, "type": "array" } }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], "type": "object" }, - "AWS::Lambda::LayerVersion": { + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ResetTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetTimer": { + "additionalProperties": false, + "properties": { + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sns": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sqs": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::Input": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54531,33 +57849,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" }, - "Description": { + "InputDescription": { "type": "string" }, - "LayerName": { + "InputName": { "type": "string" }, - "LicenseInfo": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Content" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersion" + "AWS::IoTEvents::Input" ], "type": "string" }, @@ -54571,31 +57883,32 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::LayerVersion.Content": { + "AWS::IoTEvents::Input.Attribute": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { + "JsonPath": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::Lambda::LayerVersionPermission": { + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54627,29 +57940,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" }, - "OrganizationId": { + "AccessPolicyPermission": { "type": "string" }, - "Principal": { - "type": "string" + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" } }, "required": [ - "Action", - "LayerVersionArn", - "Principal" + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersionPermission" + "AWS::IoTSiteWise::AccessPolicy" ], "type": "string" }, @@ -54668,7 +57978,79 @@ ], "type": "object" }, - "AWS::Lambda::Permission": { + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54700,35 +58082,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "FunctionName": { + "AssetModelId": { "type": "string" }, - "Principal": { + "AssetName": { "type": "string" }, - "SourceAccount": { - "type": "string" + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" }, - "SourceArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Action", - "FunctionName", - "Principal" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Permission" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -54747,7 +58134,41 @@ ], "type": "object" }, - "AWS::Lambda::Version": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54779,27 +58200,45 @@ "Properties": { "additionalProperties": false, "properties": { - "CodeSha256": { - "type": "string" + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" }, - "Description": { + "AssetModelDescription": { "type": "string" }, - "FunctionName": { + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { "type": "string" }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "FunctionName" + "AssetModelName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Version" + "AWS::IoTSiteWise::AssetModel" ], "type": "string" }, @@ -54818,19 +58257,206 @@ ], "type": "object" }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "ProvisionedConcurrentExecutions" + "Name", + "Type" ], "type": "object" }, - "AWS::Logs::Destination": { + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54862,30 +58488,35 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationName": { + "DashboardDefinition": { "type": "string" }, - "DestinationPolicy": { + "DashboardDescription": { "type": "string" }, - "RoleArn": { + "DashboardName": { "type": "string" }, - "TargetArn": { + "ProjectId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" + "DashboardDefinition", + "DashboardDescription", + "DashboardName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::IoTSiteWise::Dashboard" ], "type": "string" }, @@ -54904,7 +58535,7 @@ ], "type": "object" }, - "AWS::Logs::LogGroup": { + "AWS::IoTSiteWise::Gateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54936,21 +58567,34 @@ "Properties": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" }, - "LogGroupName": { + "GatewayName": { "type": "string" }, - "RetentionInDays": { - "type": "number" + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogGroup" + "AWS::IoTSiteWise::Gateway" ], "type": "string" }, @@ -54964,11 +58608,51 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Logs::LogStream": { + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55000,21 +58684,38 @@ "Properties": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PortalAuthMode": { "type": "string" }, - "LogStreamName": { + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "LogGroupName" + "PortalContactEmail", + "PortalName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogStream" + "AWS::IoTSiteWise::Portal" ], "type": "string" }, @@ -55033,7 +58734,7 @@ ], "type": "object" }, - "AWS::Logs::MetricFilter": { + "AWS::IoTSiteWise::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55065,29 +58766,31 @@ "Properties": { "additionalProperties": false, "properties": { - "FilterPattern": { + "PortalId": { "type": "string" }, - "LogGroupName": { + "ProjectDescription": { "type": "string" }, - "MetricTransformations": { + "ProjectName": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" + "PortalId", + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::MetricFilter" + "AWS::IoTSiteWise::Project" ], "type": "string" }, @@ -55106,38 +58809,15 @@ ], "type": "object" }, - "AWS::Logs::MetricFilter.MetricTransformation": { + "AWS::IoTThingsGraph::FlowTemplate": { "additionalProperties": false, "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricValue": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - }, - "AWS::Logs::SubscriptionFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -55161,29 +58841,21 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" + "CompatibleNamespaceVersion": { + "type": "number" }, - "RoleArn": { - "type": "string" + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "Definition" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::IoTThingsGraph::FlowTemplate" ], "type": "string" }, @@ -55202,7 +58874,23 @@ ], "type": "object" }, - "AWS::MSK::Cluster": { + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55234,51 +58922,39 @@ "Properties": { "additionalProperties": false, "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { + "Description": { "type": "string" }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" - }, - "EnhancedMonitoring": { + "Expression": { "type": "string" }, - "KafkaVersion": { + "ExpressionType": { "type": "string" }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" + "Name": { + "type": "string" }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + "RoleArn": { + "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" + "Expression", + "ExpressionType", + "Name", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::MSK::Cluster" + "AWS::IoTWireless::Destination" ], "type": "string" }, @@ -55297,279 +58973,122 @@ ], "type": "object" }, - "AWS::MSK::Cluster.BrokerLogs": { + "AWS::IoTWireless::DeviceProfile": { "additionalProperties": false, "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { - "type": "string" + "Metadata": { + "type": "object" }, - "ClientSubnets": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "type": "object" }, - "InstanceType": { + "Type": { + "enum": [ + "AWS::IoTWireless::DeviceProfile" + ], "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ClientSubnets", - "InstanceType" + "Type" ], "type": "object" }, - "AWS::MSK::Cluster.ClientAuthentication": { + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { "additionalProperties": false, "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + "ClassBTimeout": { + "type": "number" }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + "ClassCTimeout": { + "type": "number" }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { + "MacVersion": { "type": "string" }, - "Revision": { + "MaxDutyCycle": { "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { + }, + "MaxEirp": { "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { - "type": "string" }, - "InCluster": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + "PingSlotDr": { + "type": "number" }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { + "PingSlotFreq": { + "type": "number" + }, + "PingSlotPeriod": { + "type": "number" + }, + "RegParamsRevision": { "type": "string" }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.JmxExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "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": { - "EnabledInBroker": { + "RfRegion": { + "type": "string" + }, + "Supports32BitFCnt": { "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" + "SupportsClassB": { + "type": "boolean" }, - "Enabled": { + "SupportsClassC": { "type": "boolean" }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "required": [ - "Scram" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { + "SupportsJoin": { "type": "boolean" } }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, "type": "object" }, - "AWS::Macie::CustomDataIdentifier": { + "AWS::IoTWireless::ServiceProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55601,40 +59120,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Keywords": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" } }, - "required": [ - "Name", - "Regex" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::CustomDataIdentifier" + "AWS::IoTWireless::ServiceProfile" ], "type": "string" }, @@ -55648,12 +59151,74 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Macie::FindingsFilter": { + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55685,31 +59250,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "Description": { "type": "string" }, - "Description": { + "DestinationName": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "Position": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "FindingCriteria", - "Name" + "DestinationName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::IoTWireless::WirelessDevice" ], "type": "string" }, @@ -55728,283 +59305,142 @@ ], "type": "object" }, - "AWS::Macie::FindingsFilter.Criterion": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, - "properties": {}, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingCriteria": { + "AWS::IoTWireless::WirelessDevice.AbpV11": { "additionalProperties": false, "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" } }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "Id": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { "type": "string" }, - "Name": { + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { "type": "string" } }, "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": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], + "AppEui": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AppKey": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AppEui", + "AppKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "AWS::IoTWireless::WirelessDevice.OtaaV11": { "additionalProperties": false, "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { + "AppKey": { "type": "string" }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { + "JoinEui": { "type": "string" }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { + "NwkKey": { "type": "string" } }, "required": [ - "Name" + "AppKey", + "JoinEui", + "NwkKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { - "AdminPassword": { + "AppSKey": { "type": "string" }, - "AdminUsername": { + "NwkSKey": { "type": "string" } }, "required": [ - "AdminPassword", - "AdminUsername" + "AppSKey", + "NwkSKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Framework": { + "AppSKey": { "type": "string" }, - "FrameworkVersion": { + "FNwkSIntKey": { "type": "string" }, - "Name": { + "NwkSEncKey": { "type": "string" }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { + "SNwkSIntKey": { "type": "string" } }, "required": [ - "Edition" + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { + "AWS::IoTWireless::WirelessGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56036,26 +59472,36 @@ "Properties": { "additionalProperties": false, "properties": { - "MemberId": { + "Description": { "type": "string" }, - "NetworkId": { + "LastUplinkReceivedAt": { "type": "string" }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" } }, "required": [ - "MemberId", - "NetworkId", - "NodeConfiguration" + "LoRaWAN" ], "type": "object" }, "Type": { "enum": [ - "AWS::ManagedBlockchain::Node" + "AWS::IoTWireless::WirelessGateway" ], "type": "string" }, @@ -56074,23 +59520,23 @@ ], "type": "object" }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "GatewayEui": { "type": "string" }, - "InstanceType": { + "RfRegion": { "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "GatewayEui", + "RfRegion" ], "type": "object" }, - "AWS::MediaConvert::JobTemplate": { + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56122,48 +59568,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { + "AliasName": { "type": "string" }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { + "TargetKeyId": { "type": "string" - }, - "Tags": { - "type": "object" } }, "required": [ - "SettingsJson" + "AliasName", + "TargetKeyId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::JobTemplate" + "AWS::KMS::Alias" ], "type": "string" }, @@ -56182,34 +59602,7 @@ ], "type": "object" }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "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": { + "AWS::KMS::Key": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56241,30 +59634,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Category": { + "Description": { "type": "string" }, - "Description": { + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { "type": "string" }, - "Name": { + "KeyUsage": { "type": "string" }, - "SettingsJson": { - "type": "object" + "PendingWindowInDays": { + "type": "number" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SettingsJson" + "KeyPolicy" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Preset" + "AWS::KMS::Key" ], "type": "string" }, @@ -56283,7 +59688,7 @@ ], "type": "object" }, - "AWS::MediaConvert::Queue": { + "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56315,27 +59720,44 @@ "Properties": { "additionalProperties": false, "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, "Description": { "type": "string" }, + "IndexId": { + "type": "string" + }, "Name": { "type": "string" }, - "PricingPlan": { + "RoleArn": { "type": "string" }, - "Status": { + "Schedule": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, + "required": [ + "IndexId", + "Name", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Queue" + "AWS::Kendra::DataSource" ], "type": "string" }, @@ -56349,2567 +59771,2626 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Channel": { + "AWS::Kendra::DataSource.AccessControlListConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], + "KeyPath": { "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { "type": "string" } }, "required": [ - "Type" + "AllowedGroupsColumnName" ], "type": "object" }, - "AWS::MediaLive::Channel.AacSettings": { + "AWS::Kendra::DataSource.ChangeDetectingColumns": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Ac3Settings": { + "AWS::Kendra::DataSource.ColumnConfiguration": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" + "ChangeDetectingColumns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" }, - "BitstreamMode": { + "DocumentDataColumnName": { "type": "string" }, - "CodingMode": { + "DocumentIdColumnName": { "type": "string" }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { + "DocumentTitleColumnName": { "type": "string" }, - "LfeFilter": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + } + }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList" }, - "MetadataControl": { - "type": "string" + "CrawlAttachments": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList": { "additionalProperties": false, "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + "ConfluenceAttachmentFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { - "additionalProperties": false, - "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + "DataSourceFieldName": { + "type": "string" }, - "Extension": { + "DateFieldFormat": { "type": "string" }, - "NameModifier": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { "additionalProperties": false, - "properties": {}, + "properties": { + "BlogFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.AudioChannelMapping": { + "AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList": { "additionalProperties": false, "properties": { - "InputChannelLevels": { + "ConfluenceBlogFieldMappingsList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" }, "type": "array" - }, - "OutputChannel": { - "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioCodecSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { "additionalProperties": false, "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + "DataSourceFieldName": { + "type": "string" }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + "DateFieldFormat": { + "type": "string" }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioDescription": { + "AWS::Kendra::DataSource.ConfluenceConfiguration": { "additionalProperties": false, "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" }, - "AudioType": { - "type": "string" + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" }, - "AudioTypeControl": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "LanguageCode": { - "type": "string" + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" }, - "LanguageCodeControl": { + "SecretArn": { "type": "string" }, - "Name": { + "ServerUrl": { "type": "string" }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" }, - "StreamName": { + "Version": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" + "PageFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "AWS::Kendra::DataSource.ConfluencePageFieldMappingsList": { "additionalProperties": false, "properties": { - "Algorithm": { - "type": "string" - }, - "AlgorithmControl": { - "type": "string" - }, - "TargetLkfs": { - "type": "number" + "ConfluencePageFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { "additionalProperties": false, "properties": { - "AudioGroupId": { + "DataSourceFieldName": { "type": "string" }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "AudioTrackType": { + "DateFieldFormat": { "type": "string" }, - "SegmentType": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioPidSelection": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelector": { + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "CrawlArchivedSpaces": { + "type": "boolean" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { - "additionalProperties": false, - "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + "CrawlPersonalSpaces": { + "type": "boolean" }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + "ExcludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + "IncludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" + }, + "SpaceFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioTrack": { + "AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList": { "additionalProperties": false, "properties": { - "Track": { - "type": "number" + "ConfluenceSpaceFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioTrackSelection": { + "AWS::Kendra::DataSource.ConfluenceSpaceList": { "additionalProperties": false, "properties": { - "Tracks": { + "ConfluenceSpaceList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { "additionalProperties": false, "properties": { - "InputPreference": { + "DataSourceFieldName": { "type": "string" }, - "SecondaryInputId": { + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AvailBlanking": { + "AWS::Kendra::DataSource.ConnectionConfiguration": { "additionalProperties": false, "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "DatabaseHost": { + "type": "string" }, - "State": { + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { "type": "string" } }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AvailConfiguration": { + "AWS::Kendra::DataSource.DataSourceConfiguration": { "additionalProperties": false, "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.AvailSettings": { + "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { "additionalProperties": false, "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" - }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + "DataSourceInclusionsExclusionsStrings": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.BlackoutSlate": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { "additionalProperties": false, "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkEndBlackout": { + "DataSourceFieldName": { "type": "string" }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkId": { + "DateFieldFormat": { "type": "string" }, - "State": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" + "DataSourceToIndexFieldMappingList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionDescription": { + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { "additionalProperties": false, "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], "type": "object" }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "AWS::Kendra::DataSource.DatabaseConfiguration": { "additionalProperties": false, "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + "DatabaseEngineType": { + "type": "string" }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], "type": "object" }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { "additionalProperties": false, "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { + "S3Prefix": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelector": { + "AWS::Kendra::DataSource.ExcludeMimeTypesList": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + "ExcludeMimeTypesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "AWS::Kendra::DataSource.ExcludeSharedDrivesList": { "additionalProperties": false, "properties": { - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" - }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" - }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" - }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" - }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + "ExcludeSharedDrivesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { + "AWS::Kendra::DataSource.ExcludeUserAccountsList": { "additionalProperties": false, "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" + "ExcludeUserAccountsList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSdtSettings": { + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { "additionalProperties": false, "properties": { - "OutputSdt": { - "type": "string" + "ExcludeMimeTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeMimeTypesList" }, - "RepInterval": { - "type": "number" + "ExcludeSharedDrives": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeSharedDrivesList" }, - "ServiceName": { - "type": "string" + "ExcludeUserAccounts": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeUserAccountsList" }, - "ServiceProviderName": { + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { "type": "string" } }, + "required": [ + "SecretArn" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "AWS::Kendra::DataSource.OneDriveConfiguration": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" + "DisableLocalGroups": { + "type": "boolean" }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FontColor": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "FontOpacity": { - "type": "number" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FontResolution": { - "type": "number" + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" }, - "FontSize": { + "SecretArn": { "type": "string" }, - "OutlineColor": { + "TenantDomain": { "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" } }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "AWS::Kendra::DataSource.OneDriveUserList": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbTdtSettings": { + "AWS::Kendra::DataSource.OneDriveUsers": { "additionalProperties": false, "properties": { - "RepInterval": { - "type": "number" + "OneDriveUserList": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" + }, + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" } }, "type": "object" }, - "AWS::MediaLive::Channel.Eac3Settings": { + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { "additionalProperties": false, "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" - }, - "LtRtCenterMixLevel": { - "type": "number" - }, - "LtRtSurroundMixLevel": { - "type": "number" - }, - "MetadataControl": { - "type": "string" + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" }, - "PassthroughControl": { + "BucketName": { "type": "string" }, - "PhaseControl": { - "type": "string" + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" }, - "StereoDownmix": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "SurroundExMode": { - "type": "string" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "SurroundMode": { - "type": "string" + "InclusionPrefixes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "AWS::Kendra::DataSource.S3Path": { "additionalProperties": false, "properties": { - "FillLineGap": { - "type": "string" - }, - "FontFamily": { + "Bucket": { "type": "string" }, - "StyleControl": { + "Key": { "type": "string" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { "additionalProperties": false, "properties": { - "Convert608To708": { + "DocumentDataFieldName": { "type": "string" }, - "Scte20Detection": { + "DocumentTitleFieldName": { "type": "string" }, - "Source608ChannelNumber": { - "type": "number" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "Source608TrackNumber": { - "type": "number" + "IncludeFilterTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.EncoderSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { "additionalProperties": false, "properties": { - "AudioDescriptions": { + "SalesforceChatterFeedIncludeFilterTypes": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceConfiguration": { + "additionalProperties": false, + "properties": { + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + "CrawlAttachments": { + "type": "boolean" }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + "SecretArn": { + "type": "string" }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" + "ServerUrl": { + "type": "string" }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" }, - "VideoDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" - }, - "type": "array" + "StandardObjectConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" } }, + "required": [ + "SecretArn", + "ServerUrl" + ], "type": "object" }, - "AWS::MediaLive::Channel.FeatureActivations": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "InputPrepareScheduleActions": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.FecOutputSettings": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { "additionalProperties": false, "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { - "type": "string" - }, - "RowLength": { - "type": "number" + "SalesforceCustomKnowledgeArticleTypeConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "AudioRenditionSets": { - "type": "string" + "CustomKnowledgeArticleTypeConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" }, - "NielsenId3Behavior": { - "type": "string" + "IncludedStates": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" }, - "TimedMetadataBehavior": { - "type": "string" + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" } }, + "required": [ + "IncludedStates" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "SalesforceKnowledgeArticleStateList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "NameModifier": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { "additionalProperties": false, "properties": { - "CaptureInterval": { - "type": "number" - }, - "CaptureIntervalUnits": { + "DocumentTitleFieldName": { "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, "type": "object" }, - "AWS::MediaLive::Channel.GlobalConfiguration": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { "additionalProperties": false, "properties": { - "InitialAudioGain": { - "type": "number" - }, - "InputEndAction": { + "DocumentDataFieldName": { "type": "string" }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { + "DocumentTitleFieldName": { "type": "string" }, - "OutputTimingSource": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "SupportLowFramerateInputs": { + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "SalesforceStandardObjectConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.H264FilterSettings": { + "AWS::Kendra::DataSource.ServiceNowConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { + "type": "string" } }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264Settings": { + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" + "CrawlAttachments": { + "type": "boolean" }, - "AfdSignaling": { + "DocumentDataFieldName": { "type": "string" }, - "Bitrate": { - "type": "number" - }, - "BufFillPct": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { + "DocumentTitleFieldName": { "type": "string" }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "EntropyEncoding": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" }, - "FixedAfd": { + "DocumentDataFieldName": { "type": "string" }, - "FlickerAq": { + "DocumentTitleFieldName": { "type": "string" }, - "ForceFieldPictures": { - "type": "string" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FramerateControl": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "FramerateDenominator": { - "type": "number" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SharePointConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" }, - "FramerateNumerator": { - "type": "number" + "DisableLocalGroups": { + "type": "boolean" }, - "GopBReference": { + "DocumentTitleFieldName": { "type": "string" }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "GopSizeUnits": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "Level": { - "type": "string" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "LookAheadRateControl": { + "SecretArn": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { + "SharePointVersion": { "type": "string" }, - "ParDenominator": { - "type": "number" + "Urls": { + "items": { + "type": "string" + }, + "type": "array" }, - "ParNumerator": { - "type": "number" + "UseChangeLog": { + "type": "boolean" }, - "Profile": { + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SqlConfiguration": { + "additionalProperties": false, + "properties": { + "QueryIdentifiersEnclosingOption": { "type": "string" - }, - "QualityLevel": { + } + }, + "type": "object" + }, + "AWS::Kendra::Faq": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Softness": { - "type": "number" + "Metadata": { + "type": "object" }, - "SpatialAq": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" }, - "SubgopLength": { + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], "type": "string" }, - "Syntax": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TemporalAq": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "TimecodeInsertion": { + "Key": { "type": "string" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "AWS::Kendra::Index": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + "Metadata": { + "type": "object" }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265FilterSettings": { + "AWS::Kendra::Index.CapacityUnitsConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "QueryCapacityUnits": { + "type": "number" + }, + "StorageCapacityUnits": { + "type": "number" } }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265Settings": { + "AWS::Kendra::Index.DocumentMetadataConfiguration": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { + "Name": { "type": "string" }, - "Bitrate": { - "type": "number" + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" }, - "BufSize": { - "type": "number" + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" }, - "ColorMetadata": { + "Type": { "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "GroupAttributeField": { "type": "string" }, - "FlickerAq": { + "UserNameAttributeField": { "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { + } + }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], + "type": "object" + }, + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "ClaimRegex": { "type": "string" }, - "Level": { + "GroupAttributeField": { "type": "string" }, - "LookAheadRateControl": { + "Issuer": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { + "KeyLocation": { "type": "string" }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { + "SecretManagerArn": { "type": "string" }, - "ScanType": { + "URL": { "type": "string" }, - "SceneChangeDetect": { + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { "type": "string" }, - "Slices": { + "Freshness": { + "type": "boolean" + }, + "Importance": { "type": "number" }, - "Tier": { + "RankOrder": { "type": "string" }, - "TimecodeInsertion": { - "type": "string" + "ValueImportanceItems": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" } }, "type": "object" }, - "AWS::MediaLive::Channel.Hdr10Settings": { + "AWS::Kendra::Index.Search": { "additionalProperties": false, "properties": { - "MaxCll": { - "type": "number" + "Displayable": { + "type": "boolean" }, - "MaxFall": { - "type": "number" + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { + "KmsKeyId": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "AWS::Kendra::Index.UserTokenConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "NumRetries": { - "type": "number" + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" }, - "RestartDelay": { - "type": "number" + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsCdnSettings": { + "AWS::Kendra::Index.ValueImportanceItem": { "additionalProperties": false, "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + "Key": { + "type": "string" }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsGroupSettings": { + "AWS::Kendra::Index.ValueImportanceItems": { "additionalProperties": false, "properties": { - "AdMarkers": { + "ValueImportanceItems": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" }, "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "BaseUrlManifest": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BaseUrlManifest1": { - "type": "string" + "Metadata": { + "type": "object" }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" - }, - "ClientCache": { - "type": "string" - }, - "CodecSpecification": { - "type": "string" + "required": [ + "ShardCount" + ], + "type": "object" }, - "ConstantIv": { + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], "type": "string" }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { "EncryptionType": { "type": "string" }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { + "KeyId": { "type": "string" - }, - "IFrameOnlyPlaylists": { + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IndexNSegments": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InputLossAction": { - "type": "string" + "Metadata": { + "type": "object" }, - "IvInManifest": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" }, - "IvSource": { + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], "type": "string" }, - "KeepSegments": { - "type": "number" - }, - "KeyFormat": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "KeyFormatVersions": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" - }, - "ManifestCompression": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ManifestDurationFormat": { - "type": "string" + "Metadata": { + "type": "object" }, - "MinSegmentLength": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" }, - "Mode": { + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], "type": "string" }, - "OutputSelection": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ProgramDateTime": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { "type": "string" }, - "ProgramDateTimePeriod": { - "type": "number" - }, - "RedundantManifest": { + "RecordRowDelimiter": { "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" }, - "SegmentLength": { - "type": "number" + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" }, - "SegmentationMode": { - "type": "string" + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" }, - "SegmentsPerSubdirectory": { - "type": "number" + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" }, - "StreamInfResolution": { - "type": "string" + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" }, - "TimedMetadataId3Frame": { + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "TimedMetadataId3Period": { - "type": "number" - }, - "TimestampDeltaMilliseconds": { - "type": "number" - }, - "TsFileMode": { + "RoleARN": { "type": "string" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsInputSettings": { + "AWS::KinesisAnalytics::Application.InputParallelism": { "additionalProperties": false, "properties": { - "Bandwidth": { - "type": "number" - }, - "BufferSegments": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "RetryInterval": { + "Count": { "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsOutputSettings": { + "AWS::KinesisAnalytics::Application.InputSchema": { "additionalProperties": false, "properties": { - "H265PackagingType": { - "type": "string" - }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" }, - "NameModifier": { + "RecordEncoding": { "type": "string" }, - "SegmentModifier": { - "type": "string" + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" } }, + "required": [ + "RecordColumns", + "RecordFormat" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsSettings": { + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { "additionalProperties": false, "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" - }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" - }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + "RecordRowPath": { + "type": "string" } }, + "required": [ + "RecordRowPath" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { + "ResourceARN": { "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "RoleARN": { + "type": "string" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputAttachment": { + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { "additionalProperties": false, "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { + "ResourceARN": { "type": "string" }, - "InputId": { + "RoleARN": { "type": "string" - }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputChannelLevel": { + "AWS::KinesisAnalytics::Application.MappingParameters": { "additionalProperties": false, "properties": { - "Gain": { - "type": "number" + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" }, - "InputChannel": { - "type": "number" + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" } }, "type": "object" }, - "AWS::MediaLive::Channel.InputLocation": { + "AWS::KinesisAnalytics::Application.RecordColumn": { "additionalProperties": false, "properties": { - "PasswordParam": { + "Mapping": { "type": "string" }, - "Uri": { + "Name": { "type": "string" }, - "Username": { + "SqlType": { "type": "string" } }, + "required": [ + "Name", + "SqlType" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputLossBehavior": { + "AWS::KinesisAnalytics::Application.RecordFormat": { "additionalProperties": false, "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { - "type": "string" - }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" }, - "InputLossImageType": { + "RecordFormatType": { "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" } }, + "required": [ + "RecordFormatType" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSettings": { + "AWS::KinesisAnalytics::ApplicationOutput": { "additionalProperties": false, "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FilterStrength": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InputFilter": { - "type": "string" + "Metadata": { + "type": "object" }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" }, - "Smpte2038DataPreference": { + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], "type": "string" }, - "SourceEndBehavior": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSpecification": { + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { "additionalProperties": false, "properties": { - "Codec": { - "type": "string" - }, - "MaximumBitrate": { - "type": "string" - }, - "Resolution": { + "RecordFormatType": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.KeyProviderSettings": { + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { "additionalProperties": false, "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" } }, + "required": [ + "ResourceARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.M2tsSettings": { + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { "additionalProperties": false, "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { + "ResourceARN": { "type": "string" }, - "AribCaptionsPid": { + "RoleARN": { "type": "string" - }, - "AribCaptionsPidControl": { + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "AudioBufferModel": { + "RoleARN": { "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" }, - "AudioStreamType": { - "type": "string" + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" }, - "Bitrate": { - "type": "number" + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { - "type": "string" - }, - "FragmentTime": { - "type": "number" - }, - "Klv": { - "type": "string" - }, - "KlvDataPids": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { - "type": "string" - }, - "Scte27Pids": { - "type": "string" - }, - "Scte35Control": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "SegmentationMarkers": { - "type": "string" - }, - "SegmentationStyle": { - "type": "string" - }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { + "Name": { "type": "string" } }, + "required": [ + "DestinationSchema" + ], "type": "object" }, - "AWS::MediaLive::Channel.M3u8Settings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { "additionalProperties": false, "properties": { - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ProgramNum": { - "type": "number" - }, - "Scte35Behavior": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Scte35Pid": { - "type": "string" + "Metadata": { + "type": "object" }, - "TimedMetadataBehavior": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" }, - "TimedMetadataPid": { + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], "type": "string" }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" } }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { "additionalProperties": false, "properties": { - "ChannelId": { + "RecordRowPath": { "type": "string" } }, + "required": [ + "RecordRowPath" + ], "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { "additionalProperties": false, - "properties": {}, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.Mp2Settings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" + "Mapping": { + "type": "string" }, - "CodingMode": { + "Name": { "type": "string" }, - "SampleRate": { - "type": "number" + "SqlType": { + "type": "string" } }, + "required": [ + "Name", + "SqlType" + ], "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { "additionalProperties": false, "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" }, - "CertificateMode": { + "RecordFormatType": { "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" }, - "EventId": { + "TableName": { "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" }, - "EventIdMode": { + "RecordEncoding": { "type": "string" }, - "EventStopBehavior": { + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { "type": "string" }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { + "FileKey": { "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "SegmentationMode": { + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SendDelayMs": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SparseTrackType": { - "type": "string" + "Metadata": { + "type": "object" }, - "StreamManifestBehavior": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" }, - "TimestampOffset": { + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], "type": "string" }, - "TimestampOffsetMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { "additionalProperties": false, "properties": { - "H265PackagingType": { - "type": "string" + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" }, - "NameModifier": { + "CodeContentType": { "type": "string" } }, + "required": [ + "CodeContent", + "CodeContentType" + ], "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { "additionalProperties": false, - "properties": {}, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "SnapshotsEnabled": { + "type": "boolean" } }, + "required": [ + "SnapshotsEnabled" + ], "type": "object" }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { "additionalProperties": false, "properties": { - "MultiplexId": { + "RecordColumnDelimiter": { "type": "string" }, - "ProgramName": { + "RecordRowDelimiter": { "type": "string" } }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], "type": "object" }, - "AWS::MediaLive::Channel.NetworkInputSettings": { + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { "additionalProperties": false, "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + "CheckpointInterval": { + "type": "number" }, - "ServerValidation": { + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" } }, + "required": [ + "ConfigurationType" + ], "type": "object" }, - "AWS::MediaLive::Channel.NielsenConfiguration": { + "AWS::KinesisAnalyticsV2::Application.CodeContent": { "additionalProperties": false, "properties": { - "DistributorId": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { "type": "string" }, - "NielsenPcmToId3Tagging": { + "ZipFileContent": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.Output": { + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { "additionalProperties": false, "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CaptionDescriptionNames": { + "PropertyGroups": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" }, "type": "array" - }, - "OutputName": { - "type": "string" - }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { - "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputDestination": { + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" - }, - "type": "array" + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { + "AWS::KinesisAnalyticsV2::Application.Input": { "additionalProperties": false, "properties": { - "PasswordParam": { - "type": "string" + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" }, - "StreamName": { - "type": "string" + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" }, - "Url": { - "type": "string" + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" + "NamePrefix": { + "type": "string" } }, + "required": [ + "InputSchema", + "NamePrefix" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { "additionalProperties": false, "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" - }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" - }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" - }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" - }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" - }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" - }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" - }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + "ResourceARN": { + "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputLocationRef": { + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { "additionalProperties": false, "properties": { - "DestinationRefId": { - "type": "string" + "Count": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputSettings": { + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { "additionalProperties": false, "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" - }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" - }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" } }, "type": "object" }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { + "AWS::KinesisAnalyticsV2::Application.InputSchema": { "additionalProperties": false, "properties": { - "ChannelMappings": { + "RecordColumns": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" }, "type": "array" }, - "ChannelsIn": { - "type": "number" + "RecordEncoding": { + "type": "string" }, - "ChannelsOut": { - "type": "number" + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" } }, + "required": [ + "RecordColumns", + "RecordFormat" + ], "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { "additionalProperties": false, "properties": { - "AuthenticationScheme": { - "type": "string" - }, - "CacheFullBehavior": { - "type": "string" - }, - "CacheLength": { - "type": "number" - }, - "CaptionData": { - "type": "string" - }, - "InputLossAction": { + "RecordRowPath": { "type": "string" - }, - "RestartDelay": { - "type": "number" } }, + "required": [ + "RecordRowPath" + ], "type": "object" }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { "additionalProperties": false, "properties": { - "CertificateMode": { + "ResourceARN": { "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "NumRetries": { - "type": "number" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { "additionalProperties": false, "properties": { - "Convert608To708": { + "ResourceARN": { "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { "additionalProperties": false, "properties": { - "AdAvailOffset": { - "type": "number" + "ConfigurationType": { + "type": "string" }, - "NoRegionalBlackoutFlag": { + "LogLevel": { "type": "string" }, - "WebDeliveryAllowedFlag": { + "MetricsLevel": { "type": "string" } }, + "required": [ + "ConfigurationType" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { "additionalProperties": false, "properties": { - "AdAvailOffset": { - "type": "number" + "AutoScalingEnabled": { + "type": "boolean" }, - "NoRegionalBlackoutFlag": { + "ConfigurationType": { "type": "string" }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" + "Parallelism": { + "type": "number" }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + "ParallelismPerKPU": { + "type": "number" } }, + "required": [ + "ConfigurationType" + ], "type": "object" }, - "AWS::MediaLive::Channel.StaticKeySettings": { + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { "additionalProperties": false, "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "StaticKeyValue": { + "PropertyGroupId": { "type": "string" + }, + "PropertyMap": { + "type": "object" } }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { "additionalProperties": false, "properties": { - "PageNumber": { + "Mapping": { "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { - "additionalProperties": false, - "properties": { - "PostFilterSharpening": { + }, + "Name": { "type": "string" }, - "Strength": { + "SqlType": { "type": "string" } }, + "required": [ + "Name", + "SqlType" + ], "type": "object" }, - "AWS::MediaLive::Channel.TimecodeConfig": { + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { "additionalProperties": false, "properties": { - "Source": { - "type": "string" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" }, - "SyncThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { - "additionalProperties": false, - "properties": { - "StyleControl": { + "RecordFormatType": { "type": "string" } }, + "required": [ + "RecordFormatType" + ], "type": "object" }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpGroupSettings": { + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { "additionalProperties": false, "properties": { - "InputLossAction": { + "BucketARN": { "type": "string" }, - "TimedMetadataId3Frame": { + "FileKey": { "type": "string" }, - "TimedMetadataId3Period": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpOutputSettings": { - "additionalProperties": false, - "properties": { - "BufferMsec": { - "type": "number" - }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + "ObjectVersion": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoCodecSettings": { + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { "additionalProperties": false, "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" - }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" - }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoDescription": { + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { "additionalProperties": false, "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" - }, - "Height": { - "type": "number" - }, - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RespondToAfd": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ScalingBehavior": { - "type": "string" + "Metadata": { + "type": "object" }, - "Sharpness": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelector": { - "additionalProperties": false, - "properties": { - "ColorSpace": { + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], "type": "string" }, - "ColorSpaceUsage": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "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" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { "additionalProperties": false, "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" - }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + "LogStreamARN": { + "type": "string" } }, + "required": [ + "LogStreamARN" + ], "type": "object" }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Input": { + "AWS::KinesisAnalyticsV2::ApplicationOutput": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58941,57 +62422,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "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": { + "ApplicationName": { "type": "string" }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" } }, + "required": [ + "ApplicationName", + "Output" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "type": "string" }, @@ -59005,80 +62451,81 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { "additionalProperties": false, "properties": { - "StreamName": { + "RecordFormatType": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Input.InputDeviceRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { "additionalProperties": false, "properties": { - "Id": { + "ResourceARN": { "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Input.InputDeviceSettings": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { "additionalProperties": false, "properties": { - "Id": { + "ResourceARN": { "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { "additionalProperties": false, "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { + "ResourceARN": { "type": "string" } }, + "required": [ + "ResourceARN" + ], "type": "object" }, - "AWS::MediaLive::Input.InputVpcRequest": { + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { "type": "string" } }, + "required": [ + "DestinationSchema" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59110,21 +62557,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "ApplicationName": { + "type": "string" }, - "WhitelistRules": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" - }, - "type": "array" + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" } }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "type": "string" }, @@ -59138,226 +62586,142 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { "additionalProperties": false, "properties": { - "Cidr": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { "type": "string" } }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], "type": "object" }, - "AWS::MediaPackage::Asset": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RecordRowPath": { "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EgressEndpoints": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" - ], - "type": "object" + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::MediaPackage::Asset" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SqlType": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "SqlType" ], "type": "object" }, - "AWS::MediaPackage::Asset.EgressEndpoint": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { "additionalProperties": false, "properties": { - "PackagingConfigurationId": { - "type": "string" + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" }, - "Url": { + "RecordFormatType": { "type": "string" } }, "required": [ - "PackagingConfigurationId", - "Url" + "RecordFormatType" ], "type": "object" }, - "AWS::MediaPackage::Channel": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" }, - "Type": { - "enum": [ - "AWS::MediaPackage::Channel" - ], - "type": "string" + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ReferenceSchema" ], "type": "object" }, - "AWS::MediaPackage::Channel.HlsIngest": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { "additionalProperties": false, "properties": { - "ingestEndpoints": { + "RecordColumns": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" }, "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" } }, + "required": [ + "RecordColumns", + "RecordFormat" + ], "type": "object" }, - "AWS::MediaPackage::Channel.IngestEndpoint": { + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Url": { + "BucketARN": { "type": "string" }, - "Username": { + "FileKey": { "type": "string" } }, + "required": [ + "BucketARN", + "FileKey" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint": { + "AWS::KinesisFirehose::DeliveryStream": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59389,64 +62753,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" }, - "ChannelId": { + "DeliveryStreamName": { "type": "string" }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { + "DeliveryStreamType": { "type": "string" }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" }, - "Id": { - "type": "string" + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" }, - "ManifestName": { - "type": "string" + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" }, - "Origination": { - "type": "string" + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" }, - "StartoverWindowSeconds": { - "type": "number" + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TimeDelaySeconds": { - "type": "number" - }, - "Whitelist": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "ChannelId", - "Id" - ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::OriginEndpoint" + "AWS::KinesisFirehose::DeliveryStream" ], "type": "string" }, @@ -59460,645 +62808,716 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { "type": "string" }, - "SecretsRoleArn": { + "LogStreamName": { "type": "string" } }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" + "CopyOptions": { + "type": "string" }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "DataTableName" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" - }, - "type": "array" + "Enabled": { + "type": "boolean" }, - "SegmentDurationSeconds": { - "type": "number" + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" }, - "SegmentPrefix": { - "type": "string" + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" + "KeyARN": { + "type": "string" }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "KeyType": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "KeyType" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { "additionalProperties": false, "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { - "type": "string" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { + "IntervalInSeconds": { "type": "number" }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "SizeInMBs": { + "type": "number" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { "additionalProperties": false, "properties": { - "AdMarkers": { - "type": "string" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, - "AdsOnDeliveryRestrictions": { + "ClusterEndpoint": { "type": "string" }, - "Id": { + "DomainARN": { "type": "string" }, - "IncludeIframeOnlyStream": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "ManifestName": { + "IndexRotationPeriod": { "type": "string" }, - "PlaylistType": { + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { "type": "string" }, - "PlaylistWindowSeconds": { - "type": "number" + "S3BackupMode": { + "type": "string" }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, - "Url": { + "TypeName": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "Id" + "IndexName", + "RoleARN", + "S3Configuration" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { "additionalProperties": false, "properties": { - "AdMarkers": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { "type": "string" }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" }, - "AdsOnDeliveryRestrictions": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { "type": "string" }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" }, - "IncludeIframeOnlyStream": { - "type": "boolean" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" }, - "PlaylistType": { + "ErrorOutputPrefix": { "type": "string" }, - "PlaylistWindowSeconds": { - "type": "number" + "Prefix": { + "type": "string" }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, - "SegmentDurationSeconds": { - "type": "number" + "RoleARN": { + "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" }, - "UseAudioRenditionGroup": { - "type": "boolean" + "S3BackupMode": { + "type": "string" } }, + "required": [ + "BucketARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" + "AttributeName": { + "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "AttributeValue": { + "type": "string" } }, + "required": [ + "AttributeName", + "AttributeValue" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { + "AccessKey": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, "Url": { "type": "string" } }, "required": [ - "ResourceId", - "RoleArn", - "SystemIds", "Url" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { "additionalProperties": false, "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" }, - "MinVideoBitsPerSecond": { - "type": "number" + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" }, - "Metadata": { - "type": "object" + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" - }, - "Id": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" - }, - "PackagingGroupId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId" - ], - "type": "object" + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingConfiguration" - ], + "RoleARN": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3BackupMode": { "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "Type", - "Properties" + "EndpointConfiguration", + "S3Configuration" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" } }, - "required": [ - "HlsManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "AWSKMSKeyARN": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "AWSKMSKeyARN" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { "additionalProperties": false, "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { + "KinesisStreamARN": { "type": "string" }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { + "RoleARN": { "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" } }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { "additionalProperties": false, "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" }, - "PeriodTriggers": { + "BloomFilterColumns": { "items": { "type": "string" }, "type": "array" }, - "SegmentDurationSeconds": { + "BloomFilterFalsePositiveProbability": { "type": "number" }, - "SegmentTemplateFormat": { + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" } }, - "required": [ - "DashManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "SpekeKeyProvider": { - "type": "object" + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { "additionalProperties": false, "properties": { - "AdMarkers": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { "type": "string" }, - "IncludeIframeOnlyStream": { + "EnableDictionaryCompression": { "type": "boolean" }, - "ManifestName": { - "type": "string" - }, - "ProgramDateTimeIntervalSeconds": { + "MaxPaddingBytes": { "type": "number" }, - "RepeatExtXKey": { - "type": "boolean" + "PageSizeBytes": { + "type": "number" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "WriterVersion": { + "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + "Enabled": { + "type": "boolean" }, - "HlsManifests": { + "Processors": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" } }, - "required": [ - "HlsManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "AWS::KinesisFirehose::DeliveryStream.Processor": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "Type" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { "additionalProperties": false, "properties": { - "ManifestName": { + "ParameterName": { "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "ParameterValue": { + "type": "string" } }, + "required": [ + "ParameterName", + "ParameterValue" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" }, - "MssManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" - }, - "type": "array" + "ClusterJDBCURL": { + "type": "string" }, - "SegmentDurationSeconds": { - "type": "number" + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "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" + }, + "Username": { + "type": "string" } }, "required": [ - "MssManifests" + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { "additionalProperties": false, "properties": { - "RoleArn": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { "type": "string" }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" }, - "Url": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { "type": "string" } }, "required": [ - "RoleArn", - "SystemIds", - "Url" + "BucketARN", + "RoleARN" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { "additionalProperties": false, "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" + "CatalogId": { + "type": "string" }, - "MinVideoBitsPerSecond": { + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { "type": "number" }, - "StreamOrder": { + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" } }, "type": "object" }, - "AWS::MediaPackage::PackagingGroup": { + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60130,27 +63549,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" - }, - "Id": { - "type": "string" + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, - "Tags": { + "TrustedResourceOwners": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" } }, - "required": [ - "Id" - ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::PackagingGroup" + "AWS::LakeFormation::DataLakeSettings" ], "type": "string" }, @@ -60164,28 +63577,25 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MediaPackage::PackagingGroup.Authorization": { + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { + "DataLakePrincipalIdentifier": { "type": "string" } }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60217,42 +63627,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" }, - "CorsPolicy": { + "Permissions": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + "type": "string" }, "type": "array" }, - "LifecyclePolicy": { - "type": "string" - }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { - "type": "string" - }, - "Tags": { + "PermissionsWithGrantOption": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" } }, "required": [ - "ContainerName" + "DataLakePrincipal", + "Resource" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::LakeFormation::Permissions" ], "type": "string" }, @@ -60271,74 +63673,117 @@ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::LakeFormation::Permissions.ColumnWildcard": { "additionalProperties": false, "properties": { - "AllowedHeaders": { + "ExcludedColumnNames": { "items": { "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.Resource": { + "additionalProperties": false, + "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "DatabaseResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" }, - "MaxAgeSeconds": { - "type": "number" + "TableResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" } }, "type": "object" }, - "AWS::MediaStore::Container.MetricPolicy": { + "AWS::LakeFormation::Permissions.TableResource": { "additionalProperties": false, "properties": { - "ContainerLevelMetrics": { + "CatalogId": { "type": "string" }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" } }, - "required": [ - "ContainerLevelMetrics" - ], "type": "object" }, - "AWS::MediaStore::Container.MetricPolicyRule": { + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { "additionalProperties": false, "properties": { - "ObjectGroup": { + "CatalogId": { "type": "string" }, - "ObjectGroupName": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { "type": "string" } }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::LakeFormation::Resource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60370,93 +63815,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "SnapshotIdentifier": { + "ResourceArn": { "type": "string" }, - "SourceDBClusterIdentifier": { + "RoleArn": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { + "UseServiceLinkedRole": { "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::LakeFormation::Resource" ], "type": "string" }, @@ -60470,26 +63847,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::Lambda::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60524,32 +63887,32 @@ "Description": { "type": "string" }, - "Family": { + "FunctionName": { "type": "string" }, - "Name": { + "FunctionVersion": { "type": "string" }, - "Parameters": { - "type": "object" + "Name": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" } }, "required": [ - "Description", - "Family", - "Parameters" + "FunctionName", + "FunctionVersion", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::Lambda::Alias" ], "type": "string" }, @@ -60568,7 +63931,50 @@ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60600,51 +64006,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" }, - "DBSubnetGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { + "Description": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DBInstanceClass" + "AllowedPublishers" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBInstance" + "AWS::Lambda::CodeSigningConfig" ], "type": "string" }, @@ -60663,7 +64042,34 @@ ], "type": "object" }, - "AWS::Neptune::DBParameterGroup": { + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60695,35 +64101,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" }, - "Family": { + "FunctionName": { "type": "string" }, - "Name": { - "type": "string" + "MaximumEventAgeInSeconds": { + "type": "number" }, - "Parameters": { - "type": "object" + "MaximumRetryAttempts": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Qualifier": { + "type": "string" } }, "required": [ - "Description", - "Family", - "Parameters" + "FunctionName", + "Qualifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBParameterGroup" + "AWS::Lambda::EventInvokeConfig" ], "type": "string" }, @@ -60742,7 +64144,43 @@ ], "type": "object" }, - "AWS::Neptune::DBSubnetGroup": { + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60774,34 +64212,81 @@ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { "type": "string" }, - "DBSubnetGroupName": { + "FunctionName": { "type": "string" }, - "SubnetIds": { + "FunctionResponseTypes": { "items": { "type": "string" }, "type": "array" }, - "Tags": { + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "PartialBatchResponse": { + "type": "boolean" + }, + "Queues": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "Topics": { + "items": { + "type": "string" }, "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "FunctionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::Lambda::EventSourceMapping" ], "type": "string" }, @@ -60820,80 +64305,58 @@ ], "type": "object" }, - "AWS::NetworkManager::CustomerGatewayAssociation": { + "AWS::Lambda::EventSourceMapping.DestinationConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" }, - "required": [ - "CustomerGatewayArn", - "DeviceId", - "GlobalNetworkId" - ], - "type": "object" - }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { "Type": { - "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" - ], "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "URI": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::NetworkManager::Device": { + "AWS::Lambda::Function": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60925,22 +64388,58 @@ "Properties": { "additionalProperties": false, "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, "Description": { "type": "string" }, - "GlobalNetworkId": { + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + "Handler": { + "type": "string" }, - "Model": { + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { "type": "string" }, - "SerialNumber": { + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { "type": "string" }, - "SiteId": { + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { "type": "string" }, "Tags": { @@ -60949,21 +64448,25 @@ }, "type": "array" }, - "Type": { - "type": "string" + "Timeout": { + "type": "number" }, - "Vendor": { - "type": "string" + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" } }, "required": [ - "GlobalNetworkId" + "Code", + "Role" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Device" + "AWS::Lambda::Function" ], "type": "string" }, @@ -60982,102 +64485,136 @@ ], "type": "object" }, - "AWS::NetworkManager::Device.Location": { + "AWS::Lambda::Function.Code": { "additionalProperties": false, "properties": { - "Address": { + "ImageUri": { "type": "string" }, - "Latitude": { + "S3Bucket": { "type": "string" }, - "Longitude": { + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::GlobalNetwork": { + "AWS::Lambda::Function.DeadLetterConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TargetArn": { "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::GlobalNetwork" - ], + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LocalMountPath": { "type": "string" } }, "required": [ - "Type" + "Arn", + "LocalMountPath" ], "type": "object" }, - "AWS::NetworkManager::Link": { + "AWS::Lambda::Function.ImageConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Command": { + "items": { + "type": "string" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, { "items": { "pattern": "^[a-zA-Z0-9]+$", @@ -61093,41 +64630,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" - }, - "Description": { - "type": "string" + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" }, - "GlobalNetworkId": { - "type": "string" + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" }, - "Provider": { + "Description": { "type": "string" }, - "SiteId": { + "LayerName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { + "LicenseInfo": { "type": "string" } }, "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" + "Content" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Link" + "AWS::Lambda::LayerVersion" ], "type": "string" }, @@ -61146,19 +64675,26 @@ ], "type": "object" }, - "AWS::NetworkManager::Link.Bandwidth": { + "AWS::Lambda::LayerVersion.Content": { "additionalProperties": false, "properties": { - "DownloadSpeed": { - "type": "number" + "S3Bucket": { + "type": "string" }, - "UploadSpeed": { - "type": "number" + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" } }, + "required": [ + "S3Bucket", + "S3Key" + ], "type": "object" }, - "AWS::NetworkManager::LinkAssociation": { + "AWS::Lambda::LayerVersionPermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61190,26 +64726,29 @@ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { + "Action": { "type": "string" }, - "GlobalNetworkId": { + "LayerVersionArn": { "type": "string" }, - "LinkId": { + "OrganizationId": { + "type": "string" + }, + "Principal": { "type": "string" } }, "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" + "Action", + "LayerVersionArn", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::LinkAssociation" + "AWS::Lambda::LayerVersionPermission" ], "type": "string" }, @@ -61228,7 +64767,7 @@ ], "type": "object" }, - "AWS::NetworkManager::Site": { + "AWS::Lambda::Permission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61260,30 +64799,35 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "GlobalNetworkId": { + "EventSourceToken": { "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + "FunctionName": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" } }, "required": [ - "GlobalNetworkId" + "Action", + "FunctionName", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Site" + "AWS::Lambda::Permission" ], "type": "string" }, @@ -61302,22 +64846,90 @@ ], "type": "object" }, - "AWS::NetworkManager::Site.Location": { + "AWS::Lambda::Version": { "additionalProperties": false, "properties": { - "Address": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Latitude": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], "type": "string" }, - "Longitude": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::NetworkManager::TransitGatewayRegistration": { + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61349,22 +64961,36 @@ "Properties": { "additionalProperties": false, "properties": { - "GlobalNetworkId": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { "type": "string" }, - "TransitGatewayArn": { + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { "type": "string" } }, - "required": [ - "GlobalNetworkId", - "TransitGatewayArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" + "AWS::LicenseManager::Grant" ], "type": "string" }, @@ -61378,12 +65004,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::OpsWorks::App": { + "AWS::LicenseManager::License": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61415,68 +65040,60 @@ "Properties": { "additionalProperties": false, "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" + "Beneficiary": { + "type": "string" }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" }, - "DataSources": { + "Entitlements": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" }, "type": "array" }, - "Description": { + "HomeRegion": { "type": "string" }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableSsl": { - "type": "boolean" + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" }, - "Environment": { + "LicenseMetadata": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" }, "type": "array" }, - "Name": { + "LicenseName": { "type": "string" }, - "Shortname": { + "ProductName": { "type": "string" }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { + "ProductSKU": { "type": "string" }, - "Type": { + "Status": { "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" } }, "required": [ - "Name", - "StackId", - "Type" + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::App" + "AWS::LicenseManager::License" ], "type": "string" }, @@ -61495,80 +65112,125 @@ ], "type": "object" }, - "AWS::OpsWorks::App.DataSource": { + "AWS::LicenseManager::License.BorrowConfiguration": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "AllowEarlyCheckIn": { + "type": "boolean" }, - "DatabaseName": { - "type": "string" + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" }, - "Type": { + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { "type": "string" } }, "type": "object" }, - "AWS::OpsWorks::App.EnvironmentVariable": { + "AWS::LicenseManager::License.Entitlement": { "additionalProperties": false, "properties": { - "Key": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { "type": "string" }, - "Secure": { + "Overage": { "type": "boolean" }, + "Unit": { + "type": "string" + }, "Value": { "type": "string" } }, "required": [ - "Key", - "Value" + "Name", + "Unit" ], "type": "object" }, - "AWS::OpsWorks::App.Source": { + "AWS::LicenseManager::License.IssuerData": { "additionalProperties": false, "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { + "Name": { "type": "string" }, - "Type": { + "SignKey": { "type": "string" - }, - "Url": { + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "Username": { + "Value": { "type": "string" } }, + "required": [ + "Name", + "Value" + ], "type": "object" }, - "AWS::OpsWorks::App.SslConfiguration": { + "AWS::LicenseManager::License.ProvisionalConfiguration": { "additionalProperties": false, "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { "type": "string" }, - "PrivateKey": { + "End": { "type": "string" } }, + "required": [ + "Begin", + "End" + ], "type": "object" }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61600,22 +65262,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ElasticLoadBalancerName": { + "DestinationName": { "type": "string" }, - "LayerId": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ElasticLoadBalancerName", - "LayerId" + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" + "AWS::Logs::Destination" ], "type": "string" }, @@ -61634,7 +65304,7 @@ ], "type": "object" }, - "AWS::OpsWorks::Instance": { + "AWS::Logs::LogGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61666,92 +65336,21 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tenancy": { + "KmsKeyId": { "type": "string" }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { + "LogGroupName": { "type": "string" }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" + "RetentionInDays": { + "type": "number" } }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Instance" + "AWS::Logs::LogGroup" ], "type": "string" }, @@ -61765,120 +65364,76 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "AWS::Logs::LogStream": { "additionalProperties": false, "properties": { - "DeviceName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "Metadata": { "type": "object" }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + }, + "LogStreamName": { "type": "string" } }, + "required": [ + "LogGroupName" + ], "type": "object" }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::OpsWorks::Layer": { + "AWS::Logs::MetricFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61910,96 +65465,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { - "type": "string" - }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { - "type": "string" - }, - "Packages": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shortname": { - "type": "string" - }, - "StackId": { + "FilterPattern": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { + "LogGroupName": { "type": "string" }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { + "MetricTransformations": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" }, "type": "array" } }, "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" + "FilterPattern", + "LogGroupName", + "MetricTransformations" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Layer" + "AWS::Logs::MetricFilter" ], "type": "string" }, @@ -62018,130 +65506,30 @@ ], "type": "object" }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { - "additionalProperties": false, - "properties": { - "Configure": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Setup": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Undeploy": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { + "AWS::Logs::MetricFilter.MetricTransformation": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { + "DefaultValue": { "type": "number" }, - "MountPoint": { + "MetricName": { "type": "string" }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" + "MetricNamespace": { + "type": "string" }, - "VolumeType": { + "MetricValue": { "type": "string" } }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], "type": "object" }, - "AWS::OpsWorks::Stack": { + "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62173,110 +65561,29 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { - "type": "string" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" - }, - "CloneAppIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClonePermissions": { - "type": "boolean" - }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" - }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" - }, - "CustomJson": { - "type": "object" - }, - "DefaultAvailabilityZone": { - "type": "string" - }, - "DefaultInstanceProfileArn": { - "type": "string" - }, - "DefaultOs": { - "type": "string" - }, - "DefaultRootDeviceType": { - "type": "string" - }, - "DefaultSshKeyName": { - "type": "string" - }, - "DefaultSubnetId": { - "type": "string" - }, - "EcsClusterArn": { - "type": "string" - }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" - }, - "HostnameTheme": { - "type": "string" - }, - "Name": { + "DestinationArn": { "type": "string" }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" - }, - "ServiceRoleArn": { + "FilterPattern": { "type": "string" }, - "SourceStackId": { + "LogGroupName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { + "RoleArn": { "type": "string" } }, "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" + "DestinationArn", + "FilterPattern", + "LogGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Stack" + "AWS::Logs::SubscriptionFilter" ], "type": "string" }, @@ -62295,90 +65602,7 @@ ], "type": "object" }, - "AWS::OpsWorks::Stack.ChefConfiguration": { - "additionalProperties": false, - "properties": { - "BerkshelfVersion": { - "type": "string" - }, - "ManageBerkshelf": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.ElasticIp": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.RdsDbInstance": { - "additionalProperties": false, - "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "RdsDbInstanceArn": { - "type": "string" - } - }, - "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::UserProfile": { + "AWS::LookoutVision::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62410,27 +65634,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { - "type": "string" - }, - "SshPublicKey": { - "type": "string" - }, - "SshUsername": { + "ProjectName": { "type": "string" } }, "required": [ - "IamUserArn" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::UserProfile" + "AWS::LookoutVision::Project" ], "type": "string" }, @@ -62449,7 +65664,7 @@ ], "type": "object" }, - "AWS::OpsWorks::Volume": { + "AWS::MSK::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62481,28 +65696,51 @@ "Properties": { "additionalProperties": false, "properties": { - "Ec2VolumeId": { - "type": "string" + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" }, - "MountPoint": { + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { "type": "string" }, - "Name": { + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { "type": "string" }, - "StackId": { + "KafkaVersion": { "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" } }, "required": [ - "Ec2VolumeId", - "StackId" + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Volume" + "AWS::MSK::Cluster" ], "type": "string" }, @@ -62521,7 +65759,279 @@ ], "type": "object" }, - "AWS::OpsWorksCM::Server": { + "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": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "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": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "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.Sasl": { + "additionalProperties": false, + "properties": { + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "required": [ + "Scram" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62553,92 +66063,69 @@ "Properties": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" + "AirflowConfigurationOptions": { + "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" }, - "BackupId": { + "AirflowVersion": { "type": "string" }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { + "DagS3Path": { "type": "string" }, - "CustomDomain": { + "EnvironmentClass": { "type": "string" }, - "CustomPrivateKey": { + "ExecutionRoleArn": { "type": "string" }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { + "KmsKey": { "type": "string" }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" }, - "EngineModel": { - "type": "string" + "MaxWorkers": { + "type": "number" }, - "EngineVersion": { + "Name": { "type": "string" }, - "InstanceProfileArn": { + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { "type": "string" }, - "InstanceType": { + "PluginsS3Path": { "type": "string" }, - "KeyPair": { + "RequirementsS3ObjectVersion": { "type": "string" }, - "PreferredBackupWindow": { + "RequirementsS3Path": { "type": "string" }, - "PreferredMaintenanceWindow": { + "SourceBucketArn": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" }, - "ServerName": { + "WebserverAccessMode": { "type": "string" }, - "ServiceRoleArn": { + "WeeklyMaintenanceWindowStart": { "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorksCM::Server" + "AWS::MWAA::Environment" ], "type": "string" }, @@ -62657,19 +66144,71 @@ ], "type": "object" }, - "AWS::OpsWorksCM::Server.EngineAttribute": { + "AWS::MWAA::Environment.AirflowConfigurationOptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { - "Name": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { "type": "string" }, - "Value": { + "Enabled": { + "type": "boolean" + }, + "LogLevel": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::ADMChannel": { + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62701,29 +66240,40 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Description": { "type": "string" }, - "ClientId": { - "type": "string" + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" }, - "ClientSecret": { + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Regex": { + "type": "string" } }, "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" + "Name", + "Regex" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ADMChannel" + "AWS::Macie::CustomDataIdentifier" ], "type": "string" }, @@ -62742,7 +66292,7 @@ ], "type": "object" }, - "AWS::Pinpoint::APNSChannel": { + "AWS::Macie::FindingsFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62774,42 +66324,31 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { + "Action": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "Description": { "type": "string" }, - "TeamId": { - "type": "string" + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" }, - "TokenKey": { + "Name": { "type": "string" }, - "TokenKeyId": { - "type": "string" + "Position": { + "type": "number" } }, "required": [ - "ApplicationId" + "FindingCriteria", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSChannel" + "AWS::Macie::FindingsFilter" ], "type": "string" }, @@ -62828,7 +66367,33 @@ ], "type": "object" }, - "AWS::Pinpoint::APNSSandboxChannel": { + "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::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62860,42 +66425,18 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "FindingPublishingFrequency": { "type": "string" }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { + "Status": { "type": "string" } }, - "required": [ - "ApplicationId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" + "AWS::Macie::Session" ], "type": "string" }, @@ -62909,12 +66450,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Pinpoint::APNSVoipChannel": { + "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62946,42 +66486,27 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "InvitationId": { "type": "string" }, - "TeamId": { - "type": "string" + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" }, - "TokenKey": { - "type": "string" + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" }, - "TokenKeyId": { + "NetworkId": { "type": "string" } }, "required": [ - "ApplicationId" + "MemberConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipChannel" + "AWS::ManagedBlockchain::Member" ], "type": "string" }, @@ -63000,7 +66525,125 @@ ], "type": "object" }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63032,42 +66675,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { + "MemberId": { "type": "string" }, - "TokenKey": { + "NetworkId": { "type": "string" }, - "TokenKeyId": { - "type": "string" + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" } }, "required": [ - "ApplicationId" + "NetworkId", + "NodeConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" + "AWS::ManagedBlockchain::Node" ], "type": "string" }, @@ -63086,7 +66712,23 @@ ], "type": "object" }, - "AWS::Pinpoint::App": { + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63118,21 +66760,28 @@ "Properties": { "additionalProperties": false, "properties": { + "AvailabilityZone": { + "type": "string" + }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" } }, "required": [ - "Name" + "Name", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::App" + "AWS::MediaConnect::Flow" ], "type": "string" }, @@ -63151,7 +66800,101 @@ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings": { + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63183,30 +66926,42 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { "type": "string" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" }, - "CloudWatchMetricsEnabled": { - "type": "boolean" + "EntitlementStatus": { + "type": "string" }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + "FlowArn": { + "type": "string" }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "ApplicationId" + "Description", + "FlowArn", + "Name", + "Subscribers" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ApplicationSettings" + "AWS::MediaConnect::FlowEntitlement" ], "type": "string" }, @@ -63225,56 +66980,44 @@ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "AWS::MediaConnect::FlowEntitlement.Encryption": { "additionalProperties": false, "properties": { - "LambdaFunctionName": { + "Algorithm": { "type": "string" }, - "Mode": { + "ConstantInitializationVector": { "type": "string" }, - "WebUrl": { + "DeviceId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" }, - "MaximumDuration": { - "type": "number" + "KeyType": { + "type": "string" }, - "MessagesPerSecond": { - "type": "number" + "Region": { + "type": "string" }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { + "ResourceId": { "type": "string" }, - "Start": { + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { "type": "string" } }, "required": [ - "End", - "Start" + "Algorithm", + "RoleArn" ], "type": "object" }, - "AWS::Pinpoint::BaiduChannel": { + "AWS::MediaConnect::FlowOutput": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63306,29 +67049,58 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { "type": "string" }, - "ApplicationId": { + "Destination": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" }, - "SecretKey": { + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" } }, "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" + "FlowArn", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::BaiduChannel" + "AWS::MediaConnect::FlowOutput" ], "type": "string" }, @@ -63347,7 +67119,39 @@ ], "type": "object" }, - "AWS::Pinpoint::Campaign": { + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63379,67 +67183,52 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" }, - "ApplicationId": { + "Description": { "type": "string" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + "EntitlementArn": { + "type": "string" }, - "Description": { + "FlowArn": { "type": "string" }, - "HoldoutPercent": { + "IngestPort": { "type": "number" }, - "IsPaused": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + "MaxBitrate": { + "type": "number" }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + "MaxLatency": { + "type": "number" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SegmentId": { + "Protocol": { "type": "string" }, - "SegmentVersion": { - "type": "number" - }, - "Tags": { - "type": "object" + "StreamId": { + "type": "string" }, - "TreatmentDescription": { + "VpcInterfaceName": { "type": "string" }, - "TreatmentName": { + "WhitelistCidr": { "type": "string" } }, "required": [ - "ApplicationId", - "MessageConfiguration", - "Name", - "Schedule", - "SegmentId" + "Description", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::Campaign" + "AWS::MediaConnect::FlowSource" ], "type": "string" }, @@ -63458,275 +67247,44 @@ ], "type": "object" }, - "AWS::Pinpoint::Campaign.AttributeDimension": { + "AWS::MediaConnect::FlowSource.Encryption": { "additionalProperties": false, "properties": { - "AttributeType": { + "Algorithm": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { - "type": "string" - }, - "HtmlBody": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" - }, - "FilterType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "MessageType": { - "type": "string" - }, - "SenderId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.EventDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" - }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { + "ConstantInitializationVector": { "type": "string" }, - "ImageSmallIconUrl": { + "DeviceId": { "type": "string" }, - "ImageUrl": { + "KeyType": { "type": "string" }, - "JsonBody": { + "Region": { "type": "string" }, - "MediaUrl": { + "ResourceId": { "type": "string" }, - "RawContent": { + "RoleArn": { "type": "string" }, - "SilentPush": { - "type": "boolean" - }, - "TimeToLive": { - "type": "number" - }, - "Title": { + "SecretArn": { "type": "string" }, "Url": { "type": "string" } }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { - "additionalProperties": false, - "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" - }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, "required": [ - "End", - "Start" + "Algorithm", + "RoleArn" ], "type": "object" }, - "AWS::Pinpoint::Campaign.Schedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" - }, - "IsLocalTime": { - "type": "boolean" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" - }, - "StartTime": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SizePercent": { - "type": "number" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::EmailChannel": { + "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63758,35 +67316,37 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "FlowArn": { "type": "string" }, - "ConfigurationSet": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { + "RoleArn": { "type": "string" }, - "Identity": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoleArn": { + "SubnetId": { "type": "string" } }, "required": [ - "ApplicationId", - "FromAddress", - "Identity" + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailChannel" + "AWS::MediaConnect::FlowVpcInterface" ], "type": "string" }, @@ -63805,7 +67365,7 @@ ], "type": "object" }, - "AWS::Pinpoint::EmailTemplate": { + "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63837,37 +67397,48 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultSubstitutions": { - "type": "string" + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" }, - "HtmlPart": { + "Category": { "type": "string" }, - "Subject": { + "Description": { "type": "string" }, - "Tags": { - "type": "object" + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" }, - "TemplateDescription": { + "Name": { "type": "string" }, - "TemplateName": { + "Priority": { + "type": "number" + }, + "Queue": { "type": "string" }, - "TextPart": { + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ - "Subject", - "TemplateName" + "SettingsJson" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailTemplate" + "AWS::MediaConvert::JobTemplate" ], "type": "string" }, @@ -63886,7 +67457,34 @@ ], "type": "object" }, - "AWS::Pinpoint::EventStream": { + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "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": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63918,26 +67516,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Category": { "type": "string" }, - "DestinationStreamArn": { + "Description": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" + "SettingsJson" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EventStream" + "AWS::MediaConvert::Preset" ], "type": "string" }, @@ -63956,7 +67558,7 @@ ], "type": "object" }, - "AWS::Pinpoint::GCMChannel": { + "AWS::MediaConvert::Queue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63988,25 +67590,27 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "Description": { "type": "string" }, - "ApplicationId": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" } }, - "required": [ - "ApiKey", - "ApplicationId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::GCMChannel" + "AWS::MediaConvert::Queue" ], "type": "string" }, @@ -64020,12 +67624,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate": { + "AWS::MediaLive::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -64057,42 +67660,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + "ChannelClass": { + "type": "string" }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" }, - "DefaultSubstitutions": { - "type": "string" + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" }, - "Tags": { - "type": "object" + "LogLevel": { + "type": "string" }, - "TemplateDescription": { + "Name": { "type": "string" }, - "TemplateName": { + "RoleArn": { "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" } }, - "required": [ - "TemplateName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::PushTemplate" + "AWS::MediaLive::Channel" ], "type": "string" }, @@ -64106,1309 +67718,14832 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "AWS::MediaLive::Channel.AacSettings": { "additionalProperties": false, "properties": { - "Action": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { "type": "string" }, - "Body": { + "InputType": { "type": "string" }, - "MediaUrl": { + "Profile": { "type": "string" }, - "Sound": { + "RateControlMode": { "type": "string" }, - "Title": { + "RawFormat": { "type": "string" }, - "Url": { + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "AWS::MediaLive::Channel.Ac3Settings": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" + "Bitrate": { + "type": "number" }, - "ImageIconUrl": { + "BitstreamMode": { "type": "string" }, - "ImageUrl": { + "CodingMode": { "type": "string" }, - "SmallImageIconUrl": { - "type": "string" + "Dialnorm": { + "type": "number" }, - "Sound": { + "DrcProfile": { "type": "string" }, - "Title": { + "LfeFilter": { "type": "string" }, - "Url": { + "MetadataControl": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "AWS::MediaLive::Channel.AncillarySourceSettings": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" }, - "Body": { - "type": "string" + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" }, - "Sound": { - "type": "string" + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" }, - "Title": { + "Extension": { "type": "string" }, - "Url": { + "NameModifier": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::SMSChannel": { + "AWS::MediaLive::Channel.AribDestinationSettings": { "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" }, - "Metadata": { - "type": "object" + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Pinpoint::Segment": { + "AWS::MediaLive::Channel.AudioDescription": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AudioType": { + "type": "string" }, - "Metadata": { - "type": "object" + "AudioTypeControl": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], + "LanguageCode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Pinpoint::Segment.AttributeDimension": { + "AWS::MediaLive::Channel.AudioLanguageSelection": { "additionalProperties": false, "properties": { - "AttributeType": { + "LanguageCode": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "LanguageSelectionPolicy": { + "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Behavior": { + "AWS::MediaLive::Channel.AudioNormalizationSettings": { "additionalProperties": false, "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Coordinates": { + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { "additionalProperties": false, "properties": { - "Latitude": { - "type": "number" + "AudioGroupId": { + "type": "string" }, - "Longitude": { + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { "type": "number" } }, - "required": [ - "Latitude", - "Longitude" - ], "type": "object" }, - "AWS::Pinpoint::Segment.Demographic": { + "AWS::MediaLive::Channel.AudioSelector": { "additionalProperties": false, "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "Name": { + "type": "string" }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" } }, "type": "object" }, - "AWS::Pinpoint::Segment.GPSPoint": { + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { "additionalProperties": false, "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + "AudioSelectorName": { + "type": "string" }, - "RangeInKilometers": { + "AudioSilenceThresholdMsec": { "type": "number" } }, - "required": [ - "Coordinates", - "RangeInKilometers" - ], "type": "object" }, - "AWS::Pinpoint::Segment.Groups": { + "AWS::MediaLive::Channel.AudioTrack": { "additionalProperties": false, "properties": { - "Dimensions": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" }, "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" }, - "SourceSegments": { + "FailoverConditions": { "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" }, "type": "array" }, - "SourceType": { + "InputPreference": { "type": "string" }, - "Type": { + "SecondaryInputId": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Location": { + "AWS::MediaLive::Channel.AvailBlanking": { "additionalProperties": false, "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + "State": { + "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Recency": { + "AWS::MediaLive::Channel.AvailConfiguration": { "additionalProperties": false, "properties": { - "Duration": { - "type": "string" - }, - "RecencyType": { - "type": "string" + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" } }, - "required": [ - "Duration", - "RecencyType" - ], "type": "object" }, - "AWS::Pinpoint::Segment.SegmentDimensions": { + "AWS::MediaLive::Channel.AvailSettings": { "additionalProperties": false, "properties": { - "Attributes": { - "type": "object" - }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" - }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" - }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" - }, - "Metrics": { - "type": "object" + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" }, - "UserAttributes": { - "type": "object" + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" } }, "type": "object" }, - "AWS::Pinpoint::Segment.SegmentGroups": { + "AWS::MediaLive::Channel.BlackoutSlate": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, - "Include": { + "NetworkEndBlackout": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "State": { + "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.SourceSegments": { + "AWS::MediaLive::Channel.BurnInDestinationSettings": { "additionalProperties": false, "properties": { - "Id": { + "Alignment": { "type": "string" }, - "Version": { + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { "type": "number" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::Pinpoint::SmsTemplate": { + "AWS::MediaLive::Channel.CaptionDescription": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CaptionSelectorName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" + "LanguageCode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], + "LanguageDescription": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Pinpoint::VoiceChannel": { + "AWS::MediaLive::Channel.CaptionDestinationSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" }, - "Metadata": { - "type": "object" + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LanguageDescription": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet": { + "AWS::MediaLive::Channel.CaptionSelector": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LanguageCode": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { - "type": "object" + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } - }, - "required": [ - "Name" - ], - "type": "object" + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], - "type": "string" + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "AWS::MediaLive::Channel.CdiInputSpecification": { "additionalProperties": false, "properties": { - "SendingPoolName": { + "Resolution": { "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { "additionalProperties": false, "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "AWS::MediaLive::Channel.DvbSdtSettings": { "additionalProperties": false, "properties": { - "SendingEnabled": { - "type": "boolean" + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { "additionalProperties": false, "properties": { - "Key": { + "Alignment": { "type": "string" }, - "Value": { + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "AWS::MediaLive::Channel.DvbSubSourceSettings": { "additionalProperties": false, "properties": { - "CustomRedirectDomain": { - "type": "string" + "Pid": { + "type": "number" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "AWS::MediaLive::Channel.DvbTdtSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Bitrate": { + "type": "number" }, - "Metadata": { - "type": "object" + "BitstreamMode": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" + "CodingMode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], + "DcFilter": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { + "Convert608To708": { "type": "string" }, - "DimensionName": { + "Scte20Detection": { "type": "string" }, - "DimensionValueSource": { - "type": "string" + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" } }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "AWS::MediaLive::Channel.EncoderSettings": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" }, - "Enabled": { - "type": "boolean" + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" }, - "MatchingEventTypes": { + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" }, "type": "array" }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" } }, - "required": [ - "MatchingEventTypes" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::MediaLive::Channel.FailoverCondition": { "additionalProperties": false, "properties": { - "DeliveryStreamArn": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" } }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "AWS::MediaLive::Channel.FailoverConditionSettings": { "additionalProperties": false, "properties": { - "ApplicationArn": { - "type": "string" + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "AWS::MediaLive::Channel.FeatureActivations": { "additionalProperties": false, "properties": { - "TopicArn": { + "InputPrepareScheduleActions": { "type": "string" } }, - "required": [ - "TopicArn" - ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool": { + "AWS::MediaLive::Channel.FecOutputSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" - } - }, - "type": "object" + "ColumnDepth": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" - ], + "IncludeFec": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "RowLength": { + "type": "number" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "AWS::MediaLive::Channel.Fmp4HlsSettings": { "additionalProperties": false, "properties": { - "Key": { + "AudioRenditionSets": { "type": "string" }, - "Value": { + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::Identity": { + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::Identity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { "additionalProperties": false, "properties": { - "BehaviorOnMxFailure": { - "type": "string" - }, - "MailFromDomain": { + "NameModifier": { "type": "string" } }, "type": "object" }, - "AWS::PinpointEmail::Identity.Tags": { + "AWS::MediaLive::Channel.FrameCaptureSettings": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "CaptureInterval": { + "type": "number" }, - "Value": { + "CaptureIntervalUnits": { "type": "string" } }, "type": "object" }, - "AWS::QLDB::Ledger": { + "AWS::MediaLive::Channel.GlobalConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "InitialAudioGain": { + "type": "number" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "InputEndAction": { + "type": "string" }, - "Metadata": { - "type": "object" + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PermissionsMode" - ], - "type": "object" + "OutputLockingMode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], + "OutputTimingSource": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SupportLowFramerateInputs": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::QLDB::Stream": { + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], - "type": "string" + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::QLDB::Stream.KinesisConfiguration": { + "AWS::MediaLive::Channel.H264FilterSettings": { "additionalProperties": false, "properties": { - "AggregationEnabled": { - "type": "boolean" - }, - "StreamArn": { - "type": "string" + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" } }, "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::MediaLive::Channel.H264Settings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AdaptiveQuantization": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AfdSignaling": { + "type": "string" }, - "Metadata": { - "type": "object" + "Bitrate": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" + "BufFillPct": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], + "BufSize": { + "type": "number" + }, + "ColorMetadata": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "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::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "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.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "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::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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" + }, + { + "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" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::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" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "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::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "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" + }, + { + "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" + } + }, + "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" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::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": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::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" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::BaiduChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "FromAddress": { + "type": "string" + }, + "HtmlBody": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + }, + "FilterType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "EntityId": { + "type": "string" + }, + "MessageType": { + "type": "string" + }, + "OriginationNumber": { + "type": "string" + }, + "SenderId": { + "type": "string" + }, + "TemplateId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + }, + "Metrics": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageSmallIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "JsonBody": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "RawContent": { + "type": "string" + }, + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { + "type": "number" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MessageConfiguration": { + "additionalProperties": false, + "properties": { + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MetricDimension": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" + }, + "Frequency": { + "type": "string" + }, + "IsLocalTime": { + "type": "boolean" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + }, + "StartTime": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { + "additionalProperties": false, + "properties": { + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::EmailChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EmailTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EventStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::GCMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Behavior": { + "additionalProperties": false, + "properties": { + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "type": "number" + }, + "Longitude": { + "type": "number" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Demographic": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.GPSPoint": { + "additionalProperties": false, + "properties": { + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + }, + "RangeInKilometers": { + "type": "number" + } + }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Groups": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" + }, + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Location": { + "additionalProperties": false, + "properties": { + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Recency": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "RecencyType": { + "type": "string" + } + }, + "required": [ + "Duration", + "RecencyType" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentGroups": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SourceSegments": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::Pinpoint::SmsTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::VoiceChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "additionalProperties": false, + "properties": { + "SendingPoolName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" + }, + "EventDestinationName": { + "type": "string" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::DedicatedIpPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DkimSigningEnabled": { + "type": "boolean" + }, + "FeedbackForwardingEnabled": { + "type": "boolean" + }, + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::Identity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::Identity.MailFromAttributes": { + "additionalProperties": false, + "properties": { + "BehaviorOnMxFailure": { + "type": "string" + }, + "MailFromDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PermissionsMode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PermissionsMode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Ledger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalysisId": { + "type": "string" + }, + "AwsAccountId": { + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + } + }, + "required": [ + "AnalysisId", + "AwsAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Analysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisError": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Sheet": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SheetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DashboardId": { + "type": "string" + }, + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "DashboardId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { + "additionalProperties": false, + "properties": { + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" + }, + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" + }, + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.ExportToCSVOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetControlsOption": { + "additionalProperties": false, + "properties": { + "VisibilityState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "TemplateId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Template.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "BaseThemeId": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "ThemeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Theme" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.BorderStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmptyFillColor": { + "type": "string" + }, + "MinMaxGradient": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.SheetStyle": { + "additionalProperties": false, + "properties": { + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.UIColorPalette": { + "additionalProperties": false, + "properties": { + "Accent": { + "type": "string" + }, + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BacktrackWindow": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSourceIdentifier": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "string" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "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" + }, + { + "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" + }, + "TargetGroupName": { + "type": "string" + } + }, + "required": [ + "DBProxyName", + "TargetGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" + }, + "EC2VpcId": { + "type": "string" + }, + "GroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSecurityGroupIngress", + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "DBSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::GlobalCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EngineName": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "OptionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" + }, + "type": "array" + }, + "OptionGroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::OptionGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionConfiguration": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OptionName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "type": "array" + }, + "OptionVersion": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OptionName" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionSetting": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::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": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "ClusterParameterGroupName": { + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RoboMaker::Robot": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Fleet": { + "type": "string" + }, + "GreengrassGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::DNSSEC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckConfig": { + "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" + } + }, + "required": [ + "HealthCheckConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HealthCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + }, + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HostedZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.QueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "type": "string" + }, + "VPCRegion": { + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "type": "object" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResolverEndpointId": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RuleType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { + "type": "string" + } + }, + "required": [ + "ResolverRuleId", + "VPCId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRuleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", "Snapshot" ], "type": "string" @@ -65434,101 +82569,68 @@ "Properties": { "additionalProperties": false, "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" }, - "AvailabilityZones": { + "AccessControl": { + "type": "string" + }, + "AnalyticsConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" }, "type": "array" }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" }, - "DatabaseName": { + "BucketName": { "type": "string" }, - "DeletionProtection": { - "type": "boolean" + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" }, - "EnableCloudwatchLogsExports": { + "IntelligentTieringConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" }, "type": "array" }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" }, - "PreferredBackupWindow": { - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" }, - "PreferredMaintenanceWindow": { - "type": "string" + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" }, - "ReplicationSourceIdentifier": { - "type": "string" + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" }, - "RestoreType": { - "type": "string" + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" }, - "SnapshotIdentifier": { - "type": "string" + "ObjectLockEnabled": { + "type": "boolean" }, - "SourceDBClusterIdentifier": { - "type": "string" + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" }, - "SourceRegion": { - "type": "string" + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" }, - "StorageEncrypted": { - "type": "boolean" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" }, "Tags": { "items": { @@ -65536,985 +82638,989 @@ }, "type": "array" }, - "UseLatestRestorableTime": { - "type": "boolean" + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, - "required": [ - "Engine" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MaxAge": { + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "OutputSchemaVersion": { + "type": "string" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::Bucket.DefaultRetention": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Status", + "Tierings" + ], + "type": "object" + }, + "AWS::S3::Bucket.InventoryConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3::Bucket.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" + }, + "LogFilePrefix": { "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::RDS::DBCluster.DBClusterRole": { + "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { - "FeatureName": { + "Id": { "type": "string" }, - "RoleArn": { + "Prefix": { "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" } }, "required": [ - "RoleArn" + "Id" ], "type": "object" }, - "AWS::RDS::DBCluster.ScalingConfiguration": { + "AWS::S3::Bucket.NoncurrentVersionTransition": { "additionalProperties": false, "properties": { - "AutoPause": { - "type": "boolean" + "StorageClass": { + "type": "string" }, - "MaxCapacity": { + "TransitionInDays": { "type": "number" + } + }, + "required": [ + "StorageClass", + "TransitionInDays" + ], + "type": "object" + }, + "AWS::S3::Bucket.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" }, - "MinCapacity": { - "type": "number" + "QueueConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" }, - "SecondsUntilAutoPause": { - "type": "number" + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::RDS::DBClusterParameterGroup": { + "AWS::S3::Bucket.NotificationFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockConfiguration": { + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControlsRule": { + "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "BlockPublicPolicy": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" + "IgnorePublicAcls": { + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Queue": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Event", + "Queue" ], "type": "object" }, - "AWS::RDS::DBInstance": { + "AWS::S3::Bucket.RedirectAllRequestsTo": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HostName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Protocol": { + "type": "string" + } + }, + "required": [ + "HostName" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectRule": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" }, - "Metadata": { - "type": "object" + "HttpRedirectCode": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "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" - } + "Protocol": { + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" }, - "required": [ - "DBInstanceClass" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Role", + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], + "Account": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Bucket": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Bucket" ], "type": "object" }, - "AWS::RDS::DBInstance.DBInstanceRole": { + "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { - "FeatureName": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, + "Id": { "type": "string" }, - "RoleArn": { + "Prefix": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" + }, + "Status": { "type": "string" } }, "required": [ - "FeatureName", - "RoleArn" + "Destination", + "Status" ], "type": "object" }, - "AWS::RDS::DBInstance.ProcessorFeature": { + "AWS::S3::Bucket.ReplicationRuleAndOperator": { "additionalProperties": false, "properties": { - "Name": { + "Prefix": { "type": "string" }, - "Value": { - "type": "string" + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" } }, "type": "object" }, - "AWS::RDS::DBParameterGroup": { + "AWS::S3::Bucket.ReplicationRuleFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], + "Prefix": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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": [ - "Type", - "Properties" + "Status", + "Time" ], "type": "object" }, - "AWS::RDS::DBProxy": { + "AWS::S3::Bucket.ReplicationTimeValue": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" + "Minutes": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "Minutes" ], "type": "object" }, - "AWS::RDS::DBProxy.AuthFormat": { + "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" }, - "UserName": { - "type": "string" + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" } }, + "required": [ + "RedirectRule" + ], "type": "object" }, - "AWS::RDS::DBProxy.TagFormat": { + "AWS::S3::Bucket.RoutingRuleCondition": { "additionalProperties": false, "properties": { - "Key": { + "HttpErrorCodeReturnedEquals": { "type": "string" }, - "Value": { + "KeyPrefixEquals": { "type": "string" } }, "type": "object" }, - "AWS::RDS::DBProxyTargetGroup": { + "AWS::S3::Bucket.Rule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExpirationInDays": { + "type": "number" }, - "Metadata": { - "type": "object" + "Id": { + "type": "string" }, - "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" - }, - "TargetGroupName": { - "type": "string" - } + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], + "Prefix": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "AWS::S3::Bucket.S3KeyFilter": { "additionalProperties": false, "properties": { - "ConnectionBorrowTimeout": { - "type": "number" - }, - "InitQuery": { - "type": "string" - }, - "MaxConnectionsPercent": { - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "type": "number" - }, - "SessionPinningFilters": { + "Rules": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" }, "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::RDS::DBSecurityGroup": { + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KMSMasterKeyID": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "SSEAlgorithm": { + "type": "string" + } + }, + "required": [ + "SSEAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionRule": { + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SourceSelectionCriteria": { + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.StorageClassAnalysis": { + "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.Tiering": { + "additionalProperties": false, + "properties": { + "AccessTier": { "type": "string" + }, + "Days": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "AccessTier", + "Days" ], "type": "object" }, - "AWS::RDS::DBSecurityGroup.Ingress": { + "AWS::S3::Bucket.TopicConfiguration": { "additionalProperties": false, "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { + "Event": { "type": "string" }, - "EC2SecurityGroupName": { - "type": "string" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" }, - "EC2SecurityGroupOwnerId": { + "Topic": { "type": "string" } }, + "required": [ + "Event", + "Topic" + ], "type": "object" }, - "AWS::RDS::DBSecurityGroupIngress": { + "AWS::S3::Bucket.Transition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StorageClass": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], + "TransitionDate": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass" + ], + "type": "object" + }, + "AWS::S3::Bucket.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::RDS::DBSubnetGroup": { + "AWS::S3::Bucket.WebsiteConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ErrorDocument": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IndexDocument": { + "type": "string" }, - "Metadata": { - "type": "object" + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RDS::EventSubscription": { + "AWS::S3::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66546,36 +83652,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { + "Bucket": { "type": "string" }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" + "PolicyDocument": { + "type": "object" } }, "required": [ - "SnsTopicArn" + "Bucket", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::EventSubscription" + "AWS::S3::BucketPolicy" ], "type": "string" }, @@ -66594,7 +83686,7 @@ ], "type": "object" }, - "AWS::RDS::OptionGroup": { + "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66626,20 +83718,8 @@ "Properties": { "additionalProperties": false, "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" }, "Tags": { "items": { @@ -66649,16 +83729,13 @@ } }, "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" + "StorageLensConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::OptionGroup" + "AWS::S3::StorageLens" ], "type": "string" }, @@ -66677,465 +83754,194 @@ ], "type": "object" }, - "AWS::RDS::OptionGroup.OptionConfiguration": { + "AWS::S3::StorageLens.AccountLevel": { "additionalProperties": false, "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" } }, "required": [ - "OptionName" + "BucketLevel" ], "type": "object" }, - "AWS::RDS::OptionGroup.OptionSetting": { + "AWS::S3::StorageLens.ActivityMetrics": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" + "IsEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::Redshift::Cluster": { + "AWS::S3::StorageLens.AwsOrg": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "type": "boolean" - }, - "AutomatedSnapshotRetentionPeriod": { - "type": "number" - }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "OwnerAccount": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Arn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Arn" ], "type": "object" }, - "AWS::Redshift::Cluster.LoggingProperties": { + "AWS::S3::StorageLens.BucketLevel": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "S3KeyPrefix": { - "type": "string" + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" } }, - "required": [ - "BucketName" - ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup": { + "AWS::S3::StorageLens.BucketsAndRegions": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ParameterGroupFamily": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Buckets": { + "items": { + "type": "string" }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" + } + }, + "required": [ + "S3BucketDestination" + ], + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { + "additionalProperties": false, + "properties": { + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" } }, "required": [ - "Type", - "Properties" + "StorageMetrics" ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { "additionalProperties": false, "properties": { - "ParameterName": { - "type": "string" + "IsEnabled": { + "type": "boolean" }, - "ParameterValue": { - "type": "string" + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" } }, - "required": [ - "ParameterName", - "ParameterValue" - ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroup": { + "AWS::S3::StorageLens.S3BucketDestination": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AccountId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Arn": { + "type": "string" }, - "Metadata": { - "type": "object" + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" + "Format": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], + "OutputSchemaVersion": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Prefix": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroupIngress": { + "AWS::S3::StorageLens.SelectionCriteria": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Delimiter": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MaxDepth": { + "type": "number" }, - "Metadata": { - "type": "object" + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { + "type": "boolean" + }, + "StorageLensArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AccountLevel", + "Id", + "IsEnabled" ], "type": "object" }, - "AWS::Redshift::ClusterSubnetGroup": { + "AWS::S3Outposts::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67167,31 +83973,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Bucket": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Policy": { + "type": "object" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" } }, "required": [ - "Description", - "SubnetIds" + "Bucket", + "Name", + "VpcConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSubnetGroup" + "AWS::S3Outposts::AccessPoint" ], "type": "string" }, @@ -67210,7 +84014,16 @@ ], "type": "object" }, - "AWS::ResourceGroups::Group": { + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67242,14 +84055,14 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "BucketName": { "type": "string" }, - "Name": { - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + "OutpostId": { + "type": "string" }, "Tags": { "items": { @@ -67259,13 +84072,14 @@ } }, "required": [ - "Name" + "BucketName", + "OutpostId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceGroups::Group" + "AWS::S3Outposts::Bucket" ], "type": "string" }, @@ -67284,55 +84098,58 @@ ], "type": "object" }, - "AWS::ResourceGroups::Group.Query": { + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackIdentifier": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" + "DaysAfterInitiation": { + "type": "number" } }, + "required": [ + "DaysAfterInitiation" + ], "type": "object" }, - "AWS::ResourceGroups::Group.ResourceQuery": { + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { "additionalProperties": false, "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" - }, - "Type": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::ResourceGroups::Group.TagFilter": { + "AWS::S3Outposts::Bucket.Rule": { "additionalProperties": false, "properties": { - "Key": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "ExpirationInDays": { + "type": "number" + }, + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::RoboMaker::Fleet": { + "AWS::S3Outposts::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67364,18 +84181,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "Bucket": { "type": "string" }, - "Tags": { + "PolicyDocument": { "type": "object" } }, + "required": [ + "Bucket", + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Fleet" + "AWS::S3Outposts::BucketPolicy" ], "type": "string" }, @@ -67389,11 +84210,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RoboMaker::Robot": { + "AWS::S3Outposts::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67425,31 +84247,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" - }, - "Fleet": { + "OutpostId": { "type": "string" }, - "GreengrassGroupId": { + "SecurityGroupId": { "type": "string" }, - "Name": { + "SubnetId": { "type": "string" - }, - "Tags": { - "type": "object" } }, "required": [ - "Architecture", - "GreengrassGroupId" + "OutpostId", + "SecurityGroupId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Robot" + "AWS::S3Outposts::Endpoint" ], "type": "string" }, @@ -67468,7 +84285,19 @@ ], "type": "object" }, - "AWS::RoboMaker::RobotApplication": { + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::SDB::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67500,34 +84329,15 @@ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { + "Description": { "type": "string" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" } }, - "required": [ - "RobotSoftwareSuite", - "Sources" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::SDB::Domain" ], "type": "string" }, @@ -67541,48 +84351,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" + "Type" ], "type": "object" }, - "AWS::RoboMaker::RobotApplicationVersion": { + "AWS::SES::ConfigurationSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67614,21 +84387,15 @@ "Properties": { "additionalProperties": false, "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { + "Name": { "type": "string" } }, - "required": [ - "Application" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::SES::ConfigurationSet" ], "type": "string" }, @@ -67642,12 +84409,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication": { + "AWS::SES::ConfigurationSetEventDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67679,42 +84445,22 @@ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { + "ConfigurationSetName": { "type": "string" }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" } }, "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" + "ConfigurationSetName", + "EventDestination" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::SES::ConfigurationSetEventDestination" ], "type": "string" }, @@ -67733,140 +84479,82 @@ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" } }, - "required": [ - "Name", - "Version" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { "additionalProperties": false, "properties": { - "Name": { + "DefaultDimensionValue": { "type": "string" }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { + "DimensionName": { "type": "string" }, - "Version": { + "DimensionValueSource": { "type": "string" } }, "required": [ - "Name", - "Version" + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" }, - "S3Bucket": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "S3Key": { + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" } }, "required": [ - "Architecture", - "S3Bucket", - "S3Key" + "MatchingEventTypes" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplicationVersion": { + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" - ], + "properties": { + "DeliveryStreamARN": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IAMRoleARN": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DeliveryStreamARN", + "IAMRoleARN" ], "type": "object" }, - "AWS::Route53::HealthCheck": { + "AWS::SES::ReceiptFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67898,24 +84586,18 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckConfig": { - "type": "object" - }, - "HealthCheckTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" - }, - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" } }, "required": [ - "HealthCheckConfig" + "Filter" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HealthCheck" + "AWS::SES::ReceiptFilter" ], "type": "string" }, @@ -67934,23 +84616,38 @@ ], "type": "object" }, - "AWS::Route53::HealthCheck.HealthCheckTag": { + "AWS::SES::ReceiptFilter.Filter": { "additionalProperties": false, "properties": { - "Key": { + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "IpFilter" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { "type": "string" }, - "Value": { + "Policy": { "type": "string" } }, "required": [ - "Key", - "Value" + "Cidr", + "Policy" ], "type": "object" }, - "AWS::Route53::HostedZone": { + "AWS::SES::ReceiptRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67982,36 +84679,25 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { + "After": { "type": "string" }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" }, - "VPCs": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" - }, - "type": "array" + "RuleSetName": { + "type": "string" } }, "required": [ - "Name" + "Rule", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HostedZone" + "AWS::SES::ReceiptRule" ], "type": "string" }, @@ -68030,60 +84716,187 @@ ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneConfig": { + "AWS::SES::ReceiptRule.Action": { "additionalProperties": false, "properties": { - "Comment": { + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" + }, + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { "type": "string" } }, + "required": [ + "HeaderName", + "HeaderValue" + ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneTag": { + "AWS::SES::ReceiptRule.BounceAction": { "additionalProperties": false, "properties": { - "Key": { + "Message": { "type": "string" }, - "Value": { + "Sender": { + "type": "string" + }, + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { "type": "string" } }, "required": [ - "Key", - "Value" + "Message", + "Sender", + "SmtpReplyCode" ], "type": "object" }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { + "AWS::SES::ReceiptRule.LambdaAction": { "additionalProperties": false, "properties": { - "CloudWatchLogsLogGroupArn": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { "type": "string" } }, "required": [ - "CloudWatchLogsLogGroupArn" + "FunctionArn" ], "type": "object" }, - "AWS::Route53::HostedZone.VPC": { + "AWS::SES::ReceiptRule.Rule": { "additionalProperties": false, "properties": { - "VPCId": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "VPCRegion": { + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { "type": "string" } }, "required": [ - "VPCId", - "VPCRegion" + "BucketName" ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68115,64 +84928,15 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "RuleSetName": { "type": "string" - }, - "Weight": { - "type": "number" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::SES::ReceiptRuleSet" ], "type": "string" }, @@ -68186,46 +84950,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" + "Type" ], "type": "object" }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { + "AWS::SES::Template": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68257,27 +84986,15 @@ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::SES::Template" ], "type": "string" }, @@ -68295,99 +85012,25 @@ ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::SES::Template.Template": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { + "HtmlPart": { "type": "string" }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { + "SubjectPart": { "type": "string" }, - "TTL": { + "TemplateName": { "type": "string" }, - "Type": { + "TextPart": { "type": "string" - }, - "Weight": { - "type": "number" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::SNS::Subscription": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68419,41 +85062,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" + "FilterPolicy": { + "type": "object" }, - "Name": { + "Protocol": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "RawMessageDelivery": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "Protocol", + "TopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::SNS::Subscription" ], "type": "string" }, @@ -68472,22 +85117,7 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::SNS::Topic": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68519,10 +85149,31 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DisplayName": { "type": "string" }, - "Name": { + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicName": { "type": "string" } }, @@ -68530,7 +85181,7 @@ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::SNS::Topic" ], "type": "string" }, @@ -68548,7 +85199,23 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68580,18 +85247,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "ResourceId": { - "type": "string" + "Topics": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "PolicyDocument", + "Topics" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::SNS::TopicPolicy" ], "type": "string" }, @@ -68605,11 +85279,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::SQS::Queue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68641,40 +85316,51 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" + "ContentBasedDeduplication": { + "type": "boolean" }, - "Name": { - "type": "string" + "DelaySeconds": { + "type": "number" }, - "ResolverEndpointId": { + "FifoQueue": { + "type": "boolean" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "number" + }, + "KmsMasterKeyId": { "type": "string" }, - "RuleType": { + "MaximumMessageSize": { + "type": "number" + }, + "MessageRetentionPeriod": { + "type": "number" + }, + "QueueName": { "type": "string" }, + "ReceiveMessageWaitTimeSeconds": { + "type": "number" + }, + "RedrivePolicy": { + "type": "object" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" + "VisibilityTimeout": { + "type": "number" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::SQS::Queue" ], "type": "string" }, @@ -68688,27 +85374,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "required": [ - "Ip" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68740,25 +85410,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "ResolverRuleId": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "VPCId": { - "type": "string" + "Queues": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "ResolverRuleId", - "VPCId" + "PolicyDocument", + "Queues" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::SQS::QueuePolicy" ], "type": "string" }, @@ -68777,7 +85447,7 @@ ], "type": "object" }, - "AWS::S3::AccessPoint": { + "AWS::SSM::Association": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68809,39 +85479,69 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { "type": "string" }, - "CreationDate": { + "AutomationTargetParameterName": { "type": "string" }, - "Name": { + "ComplianceSeverity": { "type": "string" }, - "NetworkOrigin": { + "DocumentVersion": { "type": "string" }, - "Policy": { - "type": "object" + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" }, - "PolicyStatus": { + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, "type": "object" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + "ScheduleExpression": { + "type": "string" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + "SyncCompliance": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ - "Bucket" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessPoint" + "AWS::SSM::Association" ], "type": "string" }, @@ -68860,34 +85560,62 @@ ], "type": "object" }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::SSM::Association.InstanceAssociationOutputLocation": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.ParameterValues": { + "additionalProperties": false, + "properties": { + "ParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { + "type": "string" }, - "IgnorePublicAcls": { - "type": "boolean" + "OutputS3KeyPrefix": { + "type": "string" }, - "RestrictPublicBuckets": { - "type": "boolean" + "OutputS3Region": { + "type": "string" } }, "type": "object" }, - "AWS::S3::AccessPoint.VpcConfiguration": { + "AWS::SSM::Association.Target": { "additionalProperties": false, "properties": { - "VpcId": { + "Key": { "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Key", + "Values" + ], "type": "object" }, - "AWS::S3::Bucket": { + "AWS::SSM::Document": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68919,78 +85647,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + "Content": { + "type": "object" }, - "AccessControl": { + "DocumentType": { "type": "string" }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { + "Name": { "type": "string" }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "type": "boolean" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, + "required": [ + "Content" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::Bucket" + "AWS::SSM::Document" ], "type": "string" }, @@ -69004,874 +85684,1091 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.AnalyticsConfiguration": { + "AWS::SSM::MaintenanceWindow": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Prefix": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "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" }, - "ExposedHeaders": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Duration": { + "type": "number" + }, + "EndDate": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "MaxAge": { - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" }, - "OutputSchemaVersion": { + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Destination", - "OutputSchemaVersion" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.DefaultRetention": { + "AWS::SSM::MaintenanceWindowTarget": { "additionalProperties": false, "properties": { - "Days": { - "type": "number" - }, - "Mode": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BucketArn": { - "type": "string" + "Metadata": { + "type": "object" }, - "Format": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "type": "array" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ReplicaKmsKeyID" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.FilterRule": { + "AWS::SSM::MaintenanceWindowTarget.Targets": { "additionalProperties": false, "properties": { - "Name": { + "Key": { "type": "string" }, - "Value": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name", - "Value" + "Key" ], "type": "object" }, - "AWS::S3::Bucket.InventoryConfiguration": { + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IncludedObjectVersions": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OptionalFields": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + }, + "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" + } }, - "type": "array" + "required": [ + "Priority", + "TaskArn", + "TaskType", + "WindowId" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTask" + ], "type": "string" }, - "ScheduleFrequency": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.LambdaConfiguration": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "Event": { + "Region": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "S3Bucket": { + "type": "string" }, - "Function": { + "S3Prefix": { "type": "string" } }, "required": [ - "Event", - "Function" + "Region", + "S3Bucket" ], "type": "object" }, - "AWS::S3::Bucket.LifecycleConfiguration": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { "additionalProperties": false, "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" } }, - "required": [ - "Rules" - ], "type": "object" }, - "AWS::S3::Bucket.LoggingConfiguration": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { "additionalProperties": false, "properties": { - "DestinationBucketName": { + "ClientContext": { "type": "string" }, - "LogFilePrefix": { + "Payload": { "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Metrics": { - "additionalProperties": false, - "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" }, - "Status": { + "Qualifier": { "type": "string" } }, - "required": [ - "Status" - ], "type": "object" }, - "AWS::S3::Bucket.MetricsConfiguration": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { - "Id": { + "Comment": { "type": "string" }, - "Prefix": { + "DocumentHash": { "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { "additionalProperties": false, "properties": { - "StorageClass": { + "Input": { "type": "string" }, - "TransitionInDays": { - "type": "number" + "Name": { + "type": "string" } }, - "required": [ - "StorageClass", - "TransitionInDays" - ], "type": "object" }, - "AWS::S3::Bucket.NotificationConfiguration": { + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { "additionalProperties": false, "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" + "NotificationArn": { + "type": "string" }, - "QueueConfigurations": { + "NotificationEvents": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + "type": "string" }, "type": "array" }, - "TopicConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + "NotificationType": { + "type": "string" } }, "required": [ - "S3Key" + "NotificationArn" ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockConfiguration": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { - "ObjectLockEnabled": { + "Key": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockRule": { - "additionalProperties": false, - "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" }, - "Queue": { - "type": "string" + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" } }, - "required": [ - "Event", - "Queue" - ], "type": "object" }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { - "HostName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "HostName" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectRule": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HttpRedirectCode": { - "type": "string" + "Metadata": { + "type": "object" }, - "Protocol": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policies": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" }, - "ReplaceKeyPrefixWith": { + "Type": { + "enum": [ + "AWS::SSM::Parameter" + ], "type": "string" }, - "ReplaceKeyWith": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Role": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" } }, "required": [ - "Role", - "Rules" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationDestination": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Bucket": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + "Metadata": { + "type": "object" }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], + "type": "string" }, - "StorageClass": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Bucket" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRule": { + "AWS::SSM::PatchBaseline.PatchFilter": { "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": { + "Key": { "type": "string" }, - "Priority": { - "type": "number" - }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" - }, - "Status": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Destination", - "Status" - ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "AWS::SSM::PatchBaseline.PatchFilterGroup": { "additionalProperties": false, "properties": { - "Prefix": { - "type": "string" - }, - "TagFilters": { + "PatchFilters": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" }, "type": "array" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleFilter": { + "AWS::SSM::PatchBaseline.PatchSource": { "additionalProperties": false, "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" - }, - "Prefix": { + "Configuration": { "type": "string" }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTime": { - "additionalProperties": false, - "properties": { - "Status": { + "Name": { "type": "string" }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + "Products": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Status", - "Time" - ], "type": "object" }, - "AWS::S3::Bucket.ReplicationTimeValue": { + "AWS::SSM::PatchBaseline.PatchStringDate": { "additionalProperties": false, - "properties": { - "Minutes": { - "type": "number" - } - }, - "required": [ - "Minutes" - ], + "properties": {}, "type": "object" }, - "AWS::S3::Bucket.RoutingRule": { + "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + "ApproveAfterDays": { + "type": "number" }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, + "ComplianceLevel": { + "type": "string" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" } }, - "required": [ - "RedirectRule" - ], "type": "object" }, - "AWS::S3::Bucket.RoutingRuleCondition": { + "AWS::SSM::PatchBaseline.RuleGroup": { "additionalProperties": false, "properties": { - "HttpErrorCodeReturnedEquals": { - "type": "string" - }, - "KeyPrefixEquals": { - "type": "string" + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" } }, "type": "object" }, - "AWS::S3::Bucket.Rule": { + "AWS::SSM::ResourceDataSync": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NoncurrentVersionExpirationInDays": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + "Metadata": { + "type": "object" }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" + } }, - "type": "array" + "required": [ + "SyncName" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], "type": "string" }, - "Status": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.S3KeyFilter": { + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { "additionalProperties": false, "properties": { - "Rules": { + "OrganizationSourceType": { + "type": "string" + }, + "OrganizationalUnits": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + "type": "string" }, "type": "array" } }, "required": [ - "Rules" + "OrganizationSourceType" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "AWS::SSM::ResourceDataSync.S3Destination": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { + "BucketName": { "type": "string" }, - "SSEAlgorithm": { + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { "type": "string" } }, "required": [ - "SSEAlgorithm" + "BucketName", + "BucketRegion", + "SyncFormat" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SourceSelectionCriteria": { - "additionalProperties": false, - "properties": { - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "AWS::SSM::ResourceDataSync.SyncSource": { "additionalProperties": false, "properties": { - "Status": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { "type": "string" } }, "required": [ - "Status" + "SourceRegions", + "SourceType" ], "type": "object" }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { + "AWS::SSO::Assignment": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "type": "string" + }, + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Assignment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.TopicConfiguration": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { "additionalProperties": false, "properties": { - "Event": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Topic": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "type": "array" + }, + "InstanceArn": { + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Event", - "Topic" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.Transition": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { "additionalProperties": false, "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionDate": { + "Key": { "type": "string" }, - "TransitionInDays": { - "type": "number" + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" } }, "required": [ - "StorageClass" + "Key", + "Value" ], "type": "object" }, - "AWS::S3::Bucket.VersioningConfiguration": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { "additionalProperties": false, "properties": { - "Status": { - "type": "string" + "Source": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList" } }, "required": [ - "Status" + "Source" ], "type": "object" }, - "AWS::S3::Bucket.WebsiteConfiguration": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList": { "additionalProperties": false, "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" - }, - "RoutingRules": { + "AccessControlAttributeValueSourceList": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::S3::BucketPolicy": { + "AWS::SSO::PermissionSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69903,22 +86800,46 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { + "Description": { "type": "string" }, - "PolicyDocument": { + "InlinePolicy": { "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Bucket", - "PolicyDocument" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::BucketPolicy" + "AWS::SSO::PermissionSet" ], "type": "string" }, @@ -69937,7 +86858,7 @@ ], "type": "object" }, - "AWS::SDB::Domain": { + "AWS::SageMaker::App": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69969,15 +86890,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AppName": { + "type": "string" + }, + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { "type": "string" } }, + "required": [ + "AppName", + "AppType", + "DomainId", + "UserProfileName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SDB::Domain" + "AWS::SageMaker::App" ], "type": "string" }, @@ -69991,11 +86936,27 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet": { + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70027,15 +86988,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "AppImageConfigName": { "type": "string" + }, + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AppImageConfigName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSet" + "AWS::SageMaker::AppImageConfig" ], "type": "string" }, @@ -70049,11 +87022,60 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination": { + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "type": "number" + }, + "DefaultUid": { + "type": "number" + }, + "MountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70085,22 +87107,21 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetName": { + "CodeRepositoryName": { "type": "string" }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" } }, "required": [ - "ConfigurationSetName", - "EventDestination" + "GitConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSetEventDestination" + "AWS::SageMaker::CodeRepository" ], "type": "string" }, @@ -70119,82 +87140,359 @@ ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::SageMaker::CodeRepository.GitConfig": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "Branch": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + }, + "SecretArn": { + "type": "string" } }, + "required": [ + "RepositoryUrl" + ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::SageMaker::DataQualityJobDefinition": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DimensionName": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], "type": "string" }, - "DimensionValueSource": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + "InstanceCount": { + "type": "number" }, - "Enabled": { - "type": "boolean" + "InstanceType": { + "type": "string" }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + "VolumeKmsKeyId": { + "type": "string" }, - "MatchingEventTypes": { + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { "items": { "type": "string" }, "type": "array" }, - "Name": { + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { "type": "string" } }, "required": [ - "MatchingEventTypes" + "ImageUri" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { "additionalProperties": false, "properties": { - "DeliveryStreamARN": { + "BaseliningJobName": { "type": "string" }, - "IAMRoleARN": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { "type": "string" } }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, "required": [ - "DeliveryStreamARN", - "IAMRoleARN" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SES::ReceiptFilter": { + "AWS::SageMaker::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70226,18 +87524,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + "Device": { + "type": "object" + }, + "DeviceFleetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Filter" + "DeviceFleetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptFilter" + "AWS::SageMaker::Device" ], "type": "string" }, @@ -70256,38 +87563,25 @@ ], "type": "object" }, - "AWS::SES::ReceiptFilter.Filter": { + "AWS::SageMaker::Device.Device": { "additionalProperties": false, "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { + "Description": { "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { - "additionalProperties": false, - "properties": { - "Cidr": { + }, + "DeviceName": { "type": "string" }, - "Policy": { + "IotThingName": { "type": "string" } }, "required": [ - "Cidr", - "Policy" + "DeviceName" ], "type": "object" }, - "AWS::SES::ReceiptRule": { + "AWS::SageMaker::DeviceFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70319,25 +87613,35 @@ "Properties": { "additionalProperties": false, "properties": { - "After": { + "Description": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + "DeviceFleetName": { + "type": "string" }, - "RuleSetName": { + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Rule", - "RuleSetName" + "DeviceFleetName", + "OutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRule" + "AWS::SageMaker::DeviceFleet" ], "type": "string" }, @@ -70356,187 +87660,212 @@ ], "type": "object" }, - "AWS::SES::ReceiptRule.Action": { - "additionalProperties": false, - "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" - }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.AddHeaderAction": { + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { "additionalProperties": false, "properties": { - "HeaderName": { + "KmsKeyId": { "type": "string" }, - "HeaderValue": { + "S3OutputLocation": { "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "S3OutputLocation" ], "type": "object" }, - "AWS::SES::ReceiptRule.BounceAction": { + "AWS::SageMaker::Domain": { "additionalProperties": false, "properties": { - "Message": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Sender": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SmtpReplyCode": { - "type": "string" + "Metadata": { + "type": "object" }, - "StatusCode": { + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "type": "string" + }, + "AuthMode": { + "type": "string" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], "type": "string" }, - "TopicArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Message", - "Sender", - "SmtpReplyCode" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ReceiptRule.LambdaAction": { + "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { - "FunctionArn": { + "AppImageConfigName": { "type": "string" }, - "InvocationType": { + "ImageName": { "type": "string" }, - "TopicArn": { - "type": "string" + "ImageVersionNumber": { + "type": "number" } }, "required": [ - "FunctionArn" + "AppImageConfigName", + "ImageName" ], "type": "object" }, - "AWS::SES::ReceiptRule.Rule": { + "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" }, "type": "array" }, - "ScanEnabled": { - "type": "boolean" - }, - "TlsPolicy": { - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" } }, "type": "object" }, - "AWS::SES::ReceiptRule.S3Action": { + "AWS::SageMaker::Domain.ResourceSpec": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" - }, - "KmsKeyArn": { + "InstanceType": { "type": "string" }, - "ObjectKeyPrefix": { + "SageMakerImageArn": { "type": "string" }, - "TopicArn": { + "SageMakerImageVersionArn": { "type": "string" } }, - "required": [ - "BucketName" - ], "type": "object" }, - "AWS::SES::ReceiptRule.SNSAction": { + "AWS::SageMaker::Domain.SharingSettings": { "additionalProperties": false, "properties": { - "Encoding": { + "NotebookOutputOption": { "type": "string" }, - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { - "additionalProperties": false, - "properties": { - "Scope": { + "S3KmsKeyId": { "type": "string" }, - "TopicArn": { + "S3OutputPath": { "type": "string" } }, - "required": [ - "Scope" - ], "type": "object" }, - "AWS::SES::ReceiptRule.WorkmailAction": { + "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { - "OrganizationArn": { + "ExecutionRole": { "type": "string" }, - "TopicArn": { - "type": "string" + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" } }, - "required": [ - "OrganizationArn" - ], "type": "object" }, - "AWS::SES::ReceiptRuleSet": { + "AWS::SageMaker::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70568,15 +87897,39 @@ "Properties": { "additionalProperties": false, "properties": { - "RuleSetName": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "EndpointName": { "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "EndpointConfigName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRuleSet" + "AWS::SageMaker::Endpoint" ], "type": "string" }, @@ -70589,12 +87942,116 @@ "type": "string" } }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, "required": [ "Type" ], "type": "object" }, - "AWS::SES::Template": { + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70626,15 +88083,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ProductionVariants" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::Template" + "AWS::SageMaker::EndpointConfig" ], "type": "string" }, @@ -70648,116 +88126,105 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::Template.Template": { + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "HtmlPart": { - "type": "string" - }, - "SubjectPart": { - "type": "string" - }, - "TemplateName": { - "type": "string" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" }, - "TextPart": { + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { "type": "string" } }, + "required": [ + "CaptureMode" + ], "type": "object" }, - "AWS::SNS::Subscription": { + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnableCapture": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "InitialSamplingPercentage": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "additionalProperties": false, + "properties": { + "AcceleratorType": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ModelName": { + "type": "string" + }, + "VariantName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" ], "type": "object" }, - "AWS::SNS::Topic": { + "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70789,39 +88256,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { + "Description": { "type": "string" }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { + "EventTimeFeatureName": { "type": "string" }, - "Subscription": { + "FeatureDefinitions": { "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" }, "type": "array" }, + "FeatureGroupName": { + "type": "string" + }, + "OfflineStoreConfig": { + "type": "object" + }, + "OnlineStoreConfig": { + "type": "object" + }, + "RecordIdentifierFeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TopicName": { - "type": "string" } }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::Topic" + "AWS::SageMaker::FeatureGroup" ], "type": "string" }, @@ -70835,27 +88314,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SNS::Topic.Subscription": { + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { "additionalProperties": false, "properties": { - "Endpoint": { + "FeatureName": { "type": "string" }, - "Protocol": { + "FeatureType": { "type": "string" } }, "required": [ - "Endpoint", - "Protocol" + "FeatureName", + "FeatureType" ], "type": "object" }, - "AWS::SNS::TopicPolicy": { + "AWS::SageMaker::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70887,25 +88367,34 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "ImageDescription": { + "type": "string" }, - "Topics": { + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "PolicyDocument", - "Topics" + "ImageName", + "ImageRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::TopicPolicy" + "AWS::SageMaker::Image" ], "type": "string" }, @@ -70924,7 +88413,7 @@ ], "type": "object" }, - "AWS::SQS::Queue": { + "AWS::SageMaker::ImageVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70956,51 +88445,22 @@ "Properties": { "additionalProperties": false, "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { + "BaseImage": { "type": "string" }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { + "ImageName": { "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" } }, + "required": [ + "BaseImage", + "ImageName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::Queue" + "AWS::SageMaker::ImageVersion" ], "type": "string" }, @@ -71014,11 +88474,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SQS::QueuePolicy": { + "AWS::SageMaker::Model": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71050,25 +88511,45 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" }, - "Queues": { + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, "required": [ - "PolicyDocument", - "Queues" + "ExecutionRoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::SageMaker::Model" ], "type": "string" }, @@ -71087,7 +88568,92 @@ ], "type": "object" }, - "AWS::SSM::Association": { + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "type": "string" + }, + "Environment": { + "type": "object" + }, + "Image": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { + "type": "string" + }, + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71119,69 +88685,52 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" - }, - "AssociationName": { - "type": "string" - }, - "AutomationTargetParameterName": { - "type": "string" - }, - "ComplianceSeverity": { - "type": "string" - }, - "DocumentVersion": { + "JobDefinitionName": { "type": "string" }, - "InstanceId": { - "type": "string" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" }, - "MaxConcurrency": { - "type": "string" + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" }, - "MaxErrors": { - "type": "string" + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" }, - "Name": { - "type": "string" + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" }, - "ScheduleExpression": { + "RoleArn": { "type": "string" }, - "SyncCompliance": { - "type": "string" + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" } }, "required": [ - "Name" + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Association" + "AWS::SageMaker::ModelBiasJobDefinition" ], "type": "string" }, @@ -71200,136 +88749,253 @@ ], "type": "object" }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::SSM::Association.ParameterValues": { + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" + "S3Uri": { + "type": "string" } }, "type": "object" }, - "AWS::SSM::Association.S3OutputLocation": { + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "OutputS3BucketName": { + "EndTimeOffset": { "type": "string" }, - "OutputS3KeyPrefix": { + "EndpointName": { "type": "string" }, - "OutputS3Region": { + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], "type": "object" }, - "AWS::SSM::Association.Target": { + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { - "Key": { + "ConfigUri": { "type": "string" }, - "Values": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" }, "type": "array" } }, "required": [ - "Key", - "Values" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SSM::Document": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnableNetworkIsolation": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "object" - }, - "DocumentType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Content" - ], - "type": "object" + "S3UploadMode": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SSM::Document" - ], + "S3Uri": { "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SSM::MaintenanceWindow": { + "AWS::SageMaker::ModelExplainabilityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71361,36 +89027,33 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { + "JobDefinitionName": { "type": "string" }, - "Duration": { - "type": "number" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" }, - "EndDate": { - "type": "string" + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" }, - "Name": { - "type": "string" + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" }, - "Schedule": { - "type": "string" + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" }, - "ScheduleOffset": { - "type": "number" + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" }, - "ScheduleTimezone": { - "type": "string" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" }, - "StartDate": { + "RoleArn": { "type": "string" }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -71399,17 +89062,17 @@ } }, "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::SageMaker::ModelExplainabilityJobDefinition" ], "type": "string" }, @@ -71428,7 +89091,228 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackageGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71460,38 +89344,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { + "ModelPackageGroupDescription": { "type": "string" }, - "OwnerInformation": { + "ModelPackageGroupName": { "type": "string" }, - "ResourceType": { - "type": "string" + "ModelPackageGroupPolicy": { + "type": "object" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WindowId": { - "type": "string" } }, "required": [ - "ResourceType", - "Targets", - "WindowId" + "ModelPackageGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::SageMaker::ModelPackageGroup" ], "type": "string" }, @@ -71510,25 +89386,7 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { + "AWS::SageMaker::ModelQualityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71560,63 +89418,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "JobDefinitionName": { "type": "string" }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" }, - "MaxConcurrency": { - "type": "string" + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" }, - "MaxErrors": { - "type": "string" + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" }, - "Name": { - "type": "string" + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" }, - "Priority": { - "type": "number" + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" }, - "ServiceRoleArn": { + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { "type": "string" }, - "Targets": { + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { - "type": "string" - }, - "WindowId": { - "type": "string" } }, "required": [ - "MaxConcurrency", - "MaxErrors", - "Priority", - "Targets", - "TaskArn", - "TaskType", - "WindowId" + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::SageMaker::ModelQualityJobDefinition" ], "type": "string" }, @@ -71635,242 +89482,268 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "Region": { - "type": "string" + "InstanceCount": { + "type": "number" }, - "S3Bucket": { + "InstanceType": { "type": "string" }, - "S3Prefix": { + "VolumeKmsKeyId": { "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "Region", - "S3Bucket" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "DocumentVersion": { + "S3Uri": { "type": "string" - }, - "Parameters": { - "type": "object" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "ClientContext": { + "EndTimeOffset": { "type": "string" }, - "Payload": { + "EndpointName": { "type": "string" }, - "Qualifier": { + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "DocumentHashType": { - "type": "string" + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" }, - "OutputS3BucketName": { + "ImageUri": { "type": "string" }, - "OutputS3KeyPrefix": { + "PostAnalyticsProcessorSourceUri": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { + "ProblemType": { "type": "string" }, - "TimeoutSeconds": { - "type": "number" + "RecordPreprocessorSourceUri": { + "type": "string" } }, + "required": [ + "ImageUri", + "ProblemType" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { "additionalProperties": false, "properties": { - "Input": { + "BaseliningJobName": { "type": "string" }, - "Name": { - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { "additionalProperties": false, "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" }, - "NotificationType": { + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { "type": "string" } }, "required": [ - "NotificationArn" + "S3Uri" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.Target": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "Key": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { "type": "string" }, - "Values": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" }, "type": "array" } }, "required": [ - "Key" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + "EnableNetworkIsolation": { + "type": "boolean" }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" } }, + "required": [ + "MaxRuntimeInSeconds" + ], "type": "object" }, - "AWS::SSM::Parameter": { + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } + "SecurityGroupIds": { + "items": { + "type": "string" }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SSM::PatchBaseline": { + "AWS::SageMaker::MonitoringSchedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71902,54 +89775,24 @@ "Properties": { "additionalProperties": false, "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { + "EndpointName": { "type": "string" }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, - "Description": { + "FailureReason": { "type": "string" }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" }, - "Name": { - "type": "string" + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" }, - "OperatingSystem": { + "MonitoringScheduleName": { "type": "string" }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatchesAction": { + "MonitoringScheduleStatus": { "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -71958,13 +89801,14 @@ } }, "required": [ - "Name" + "MonitoringScheduleConfig", + "MonitoringScheduleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::SageMaker::MonitoringSchedule" ], "type": "string" }, @@ -71983,245 +89827,358 @@ ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilter": { + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { "additionalProperties": false, "properties": { - "Key": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { "additionalProperties": false, "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" + "S3Uri": { + "type": "string" } }, "type": "object" }, - "AWS::SSM::PatchBaseline.PatchSource": { + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { "additionalProperties": false, "properties": { - "Configuration": { + "EndpointName": { "type": "string" }, - "Name": { + "LocalPath": { "type": "string" }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchStringDate": { + "AWS::SageMaker::MonitoringSchedule.Environment": { "additionalProperties": false, "properties": {}, "type": "object" }, - "AWS::SSM::PatchBaseline.Rule": { + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { - "ApproveAfterDays": { - "type": "number" + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "ComplianceLevel": { + "ImageUri": { "type": "string" }, - "EnableNonSecurity": { - "type": "boolean" + "PostAnalyticsProcessorSourceUri": { + "type": "string" }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + "RecordPreprocessorSourceUri": { + "type": "string" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.RuleGroup": { + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { "additionalProperties": false, "properties": { - "PatchRules": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "additionalProperties": false, + "properties": { + "MonitoringInputs": { "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" }, "type": "array" } }, "type": "object" }, - "AWS::SSM::ResourceDataSync": { + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" }, - "Metadata": { - "type": "object" + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" - }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" - }, - "SyncType": { - "type": "string" - } - }, - "required": [ - "SyncName" - ], - "type": "object" + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" }, - "Type": { - "enum": [ - "AWS::SSM::ResourceDataSync" - ], - "type": "string" + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" } }, "required": [ - "Type", - "Properties" + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" ], "type": "object" }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { "additionalProperties": false, "properties": { - "OrganizationSourceType": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { "type": "string" }, - "OrganizationalUnits": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" }, "type": "array" } }, "required": [ - "OrganizationSourceType" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SSM::ResourceDataSync.S3Destination": { + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { "additionalProperties": false, "properties": { - "BucketName": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "MonitoringJobDefinitionName": { "type": "string" }, - "BucketPrefix": { + "MonitoringType": { "type": "string" }, - "BucketRegion": { + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { "type": "string" }, - "KMSKeyArn": { + "S3UploadMode": { "type": "string" }, - "SyncFormat": { + "S3Uri": { "type": "string" } }, "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SSM::ResourceDataSync.SyncSource": { + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { "additionalProperties": false, "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { "items": { "type": "string" }, "type": "array" }, - "SourceType": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "SourceRegions", - "SourceType" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SSO::Assignment": { + "AWS::SageMaker::NotebookInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72253,38 +90210,70 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalCodeRepositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultCodeRepository": { "type": "string" }, - "PermissionSetArn": { + "DirectInternetAccess": { "type": "string" }, - "PrincipalId": { + "InstanceType": { "type": "string" }, - "PrincipalType": { + "KmsKeyId": { "type": "string" }, - "TargetId": { + "LifecycleConfigName": { "type": "string" }, - "TargetType": { + "NotebookInstanceName": { "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RootAccess": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" + "InstanceType", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Assignment" + "AWS::SageMaker::NotebookInstance" ], "type": "string" }, @@ -72303,7 +90292,7 @@ ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72335,46 +90324,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InlinePolicy": { - "type": "string" - }, - "InstanceArn": { + "NotebookInstanceLifecycleConfigName": { "type": "string" }, - "ManagedPolicies": { + "OnCreate": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" }, "type": "array" }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { - "type": "string" - }, - "Tags": { + "OnStart": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" }, "type": "array" } }, - "required": [ - "InstanceArn", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::PermissionSet" + "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" }, @@ -72388,12 +90358,20 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::CodeRepository": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72425,21 +90403,38 @@ "Properties": { "additionalProperties": false, "properties": { - "CodeRepositoryName": { + "PipelineDefinition": { + "type": "object" + }, + "PipelineDescription": { "type": "string" }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + "PipelineDisplayName": { + "type": "string" + }, + "PipelineName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GitConfig" + "PipelineDefinition", + "PipelineName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::SageMaker::Pipeline" ], "type": "string" }, @@ -72458,25 +90453,7 @@ ], "type": "object" }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint": { + "AWS::SageMaker::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72508,20 +90485,14 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigName": { + "ProjectDescription": { "type": "string" }, - "EndpointName": { + "ProjectName": { "type": "string" }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" + "ServiceCatalogProvisioningDetails": { + "type": "object" }, "Tags": { "items": { @@ -72531,13 +90502,14 @@ } }, "required": [ - "EndpointConfigName" + "ProjectName", + "ServiceCatalogProvisioningDetails" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::SageMaker::Project" ], "type": "string" }, @@ -72556,16 +90528,7 @@ ], "type": "object" }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { + "AWS::SageMaker::UserProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72597,36 +90560,37 @@ "Properties": { "additionalProperties": false, "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" - }, - "EndpointConfigName": { + "DomainId": { "type": "string" }, - "KmsKeyId": { + "SingleSignOnUserIdentifier": { "type": "string" }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "type": "array" + "SingleSignOnUserValue": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserProfileName": { + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" } }, "required": [ - "ProductionVariants" + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::SageMaker::UserProfile" ], "type": "string" }, @@ -72645,100 +90609,104 @@ ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "AppImageConfigName": { + "type": "string" }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" } }, + "required": [ + "AppImageConfigName", + "ImageName" + ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { - "CaptureMode": { - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" } }, - "required": [ - "CaptureMode" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { "additionalProperties": false, "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { + "CustomImages": { "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" }, "type": "array" }, - "DestinationS3Uri": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { "type": "string" }, - "EnableCapture": { - "type": "boolean" - }, - "InitialSamplingPercentage": { - "type": "number" + "SageMakerImageArn": { + "type": "string" }, - "KmsKeyId": { + "SageMakerImageVersionArn": { "type": "string" } }, - "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "AWS::SageMaker::UserProfile.SharingSettings": { "additionalProperties": false, "properties": { - "AcceleratorType": { + "NotebookOutputOption": { "type": "string" }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { + "S3KmsKeyId": { "type": "string" }, - "ModelName": { + "S3OutputPath": { "type": "string" - }, - "VariantName": { + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" } }, - "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" - ], "type": "object" }, - "AWS::SageMaker::Model": { + "AWS::SageMaker::Workteam": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72770,23 +90738,17 @@ "Properties": { "additionalProperties": false, "properties": { - "Containers": { + "Description": { + "type": "string" + }, + "MemberDefinitions": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" }, "type": "array" }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" }, "Tags": { "items": { @@ -72794,18 +90756,15 @@ }, "type": "array" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + "WorkteamName": { + "type": "string" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Model" + "AWS::SageMaker::Workteam" ], "type": "string" }, @@ -72819,73 +90778,55 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::Model.ContainerDefinition": { + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { + "CognitoClientId": { "type": "string" }, - "ModelDataUrl": { + "CognitoUserGroup": { "type": "string" }, - "ModelPackageName": { + "CognitoUserPool": { "type": "string" } }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], "type": "object" }, - "AWS::SageMaker::Model.ImageConfig": { + "AWS::SageMaker::Workteam.MemberDefinition": { "additionalProperties": false, "properties": { - "RepositoryAccessMode": { - "type": "string" + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" } }, "required": [ - "RepositoryAccessMode" + "CognitoMemberDefinition" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::Workteam.NotificationConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "NotificationTopicArn": { + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "NotificationTopicArn" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule": { + "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72917,49 +90858,25 @@ "Properties": { "additionalProperties": false, "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastModifiedTime": { - "type": "string" - }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" - }, - "MonitoringScheduleArn": { - "type": "string" - }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + "BlockPublicPolicy": { + "type": "boolean" }, - "MonitoringScheduleName": { - "type": "string" + "ResourcePolicy": { + "type": "object" }, - "MonitoringScheduleStatus": { + "SecretId": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" + "ResourcePolicy", + "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::SecretsManager::ResourcePolicy" ], "type": "string" }, @@ -72978,355 +90895,378 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { - "additionalProperties": false, - "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "AWS::SecretsManager::RotationSchedule": { "additionalProperties": false, "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3DataDistributionType": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "ContainerEntrypoint": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } }, - "type": "array" - }, - "ImageUri": { - "type": "string" + "required": [ + "SecretId" + ], + "type": "object" }, - "PostAnalyticsProcessorSourceUri": { + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], "type": "string" }, - "RecordPreprocessorSourceUri": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ImageUri" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { "additionalProperties": false, "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { + "KmsKeyArn": { "type": "string" }, - "FailureReason": { + "MasterSecretArn": { "type": "string" }, - "LastModifiedTime": { + "MasterSecretKmsKeyArn": { "type": "string" }, - "MonitoringExecutionStatus": { + "RotationLambdaName": { "type": "string" }, - "MonitoringScheduleName": { + "RotationType": { "type": "string" }, - "ProcessingJobArn": { + "VpcSecurityGroupIds": { "type": "string" }, - "ScheduledTime": { + "VpcSubnetIds": { "type": "string" } }, "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" - } - }, - "required": [ - "EndpointInput" + "RotationType" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "AWS::SecretsManager::RotationSchedule.RotationRules": { "additionalProperties": false, "properties": { - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" + "AutomaticallyAfterDays": { + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "AWS::SecretsManager::Secret": { "additionalProperties": false, "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + "Metadata": { + "type": "object" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "S3Output" + "Type" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "AWS::SecretsManager::Secret.GenerateSecretString": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "ExcludeCharacters": { "type": "string" }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + "ExcludeLowercase": { + "type": "boolean" }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" - } - }, - "required": [ - "MonitoringJobDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { + "ExcludeNumbers": { "type": "boolean" }, - "EnableNetworkIsolation": { + "ExcludePunctuation": { "type": "boolean" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" + "ExcludeUppercase": { + "type": "boolean" }, - "S3UploadMode": { + "GenerateStringKey": { "type": "string" }, - "S3Uri": { + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { "type": "string" } }, - "required": [ - "LocalPath", - "S3Uri" - ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "AWS::SecretsManager::Secret.ReplicaRegion": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "KmsKeyId": { + "type": "string" + }, + "Region": { "type": "string" } }, "required": [ - "ScheduleExpression" + "Region" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "AWS::SecretsManager::SecretTargetAttachment": { "additionalProperties": false, "properties": { - "S3Uri": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" } }, "required": [ - "MaxRuntimeInSeconds" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Subnets": { - "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": { + "Tags": { + "type": "object" + } }, - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Hub" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "Type" ], "type": "object" }, - "AWS::SageMaker::NotebookInstance": { + "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73358,70 +91298,21 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { + "AcceptLanguage": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { + "PortfolioId": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" } }, "required": [ - "InstanceType", - "RoleArn" + "PortfolioId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::NotebookInstance" + "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "type": "string" }, @@ -73440,7 +91331,7 @@ ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "AWS::ServiceCatalog::CloudFormationProduct": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73472,27 +91363,56 @@ "Properties": { "additionalProperties": false, "properties": { - "NotebookInstanceLifecycleConfigName": { + "AcceptLanguage": { "type": "string" }, - "OnCreate": { + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" }, "type": "array" }, - "OnStart": { + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" + "AWS::ServiceCatalog::CloudFormationProduct" ], "type": "string" }, @@ -73506,20 +91426,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { "additionalProperties": false, "properties": { - "Content": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { "type": "string" } }, + "required": [ + "Info" + ], "type": "object" }, - "AWS::SageMaker::Workteam": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73551,33 +91484,57 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AcceptLanguage": { "type": "string" }, - "MemberDefinitions": { + "NotificationArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + "type": "string" }, "type": "array" }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + "PathId": { + "type": "string" + }, + "PathName": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProvisionedProductName": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ProvisioningArtifactName": { + "type": "string" + }, + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WorkteamName": { - "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Workteam" + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" }, @@ -73595,51 +91552,56 @@ ], "type": "object" }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { "additionalProperties": false, "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { + "Key": { "type": "string" }, - "CognitoUserPool": { + "Value": { "type": "string" } }, "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" + "Key", + "Value" ], "type": "object" }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { "additionalProperties": false, "properties": { - "NotificationTopicArn": { + "StackSetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackSetFailureToleranceCount": { + "type": "number" + }, + "StackSetFailureTolerancePercentage": { + "type": "number" + }, + "StackSetMaxConcurrencyCount": { + "type": "number" + }, + "StackSetMaxConcurrencyPercentage": { + "type": "number" + }, + "StackSetOperationType": { "type": "string" + }, + "StackSetRegions": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "NotificationTopicArn" - ], "type": "object" }, - "AWS::SecretsManager::ResourcePolicy": { + "AWS::ServiceCatalog::LaunchNotificationConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73671,22 +91633,35 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "type": "object" + "AcceptLanguage": { + "type": "string" }, - "SecretId": { + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { "type": "string" } }, "required": [ - "ResourcePolicy", - "SecretId" + "NotificationArns", + "PortfolioId", + "ProductId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "type": "string" }, @@ -73705,7 +91680,7 @@ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::ServiceCatalog::LaunchRoleConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73737,27 +91712,34 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + "AcceptLanguage": { + "type": "string" }, - "RotationLambdaARN": { + "Description": { "type": "string" }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + "LocalRoleName": { + "type": "string" }, - "SecretId": { + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, "required": [ - "SecretId" + "PortfolioId", + "ProductId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" }, @@ -73776,46 +91758,83 @@ ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "AWS::ServiceCatalog::LaunchTemplateConstraint": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MasterSecretKmsKeyArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RotationLambdaName": { - "type": "string" + "Metadata": { + "type": "object" }, - "RotationType": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], + "type": "object" }, - "VpcSecurityGroupIds": { + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchTemplateConstraint" + ], "type": "string" }, - "VpcSubnetIds": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RotationType" + "Type", + "Properties" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::ServiceCatalog::Portfolio": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73847,19 +91866,16 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AcceptLanguage": { "type": "string" }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { + "Description": { "type": "string" }, - "Name": { + "DisplayName": { "type": "string" }, - "SecretString": { + "ProviderName": { "type": "string" }, "Tags": { @@ -73869,11 +91885,15 @@ "type": "array" } }, + "required": [ + "DisplayName", + "ProviderName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::Secret" + "AWS::ServiceCatalog::Portfolio" ], "type": "string" }, @@ -73887,47 +91907,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "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": { + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -73959,26 +91944,29 @@ "Properties": { "additionalProperties": false, "properties": { - "SecretId": { + "AcceptLanguage": { "type": "string" }, - "TargetId": { + "PortfolioId": { "type": "string" }, - "TargetType": { + "PrincipalARN": { + "type": "string" + }, + "PrincipalType": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "PortfolioId", + "PrincipalARN", + "PrincipalType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" }, @@ -73997,7 +91985,7 @@ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::ServiceCatalog::PortfolioProductAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74029,15 +92017,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" } }, + "required": [ + "PortfolioId", + "ProductId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SecurityHub::Hub" + "AWS::ServiceCatalog::PortfolioProductAssociation" ], "type": "string" }, @@ -74051,11 +92052,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::ServiceCatalog::PortfolioShare": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74090,18 +92092,25 @@ "AcceptLanguage": { "type": "string" }, + "AccountId": { + "type": "string" + }, "PortfolioId": { "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" } }, "required": [ + "AccountId", "PortfolioId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" }, @@ -74120,7 +92129,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::ServiceCatalog::ResourceUpdateConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74158,50 +92167,26 @@ "Description": { "type": "string" }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { + "PortfolioId": { "type": "string" }, - "SupportEmail": { + "ProductId": { "type": "string" }, - "SupportUrl": { + "TagUpdateOnProvisionedProduct": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" }, @@ -74220,28 +92205,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::ServiceCatalog::ServiceAction": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74276,54 +92240,32 @@ "AcceptLanguage": { "type": "string" }, - "NotificationArns": { + "Definition": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" }, "type": "array" }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { + "DefinitionType": { "type": "string" }, - "ProvisioningArtifactId": { + "Description": { "type": "string" }, - "ProvisioningArtifactName": { + "Name": { "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + "AWS::ServiceCatalog::ServiceAction" ], "type": "string" }, @@ -74337,11 +92279,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { "additionalProperties": false, "properties": { "Key": { @@ -74357,40 +92300,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "AWS::ServiceCatalog::ServiceActionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74422,35 +92332,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { + "ProductId": { "type": "string" }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { + "ProvisioningArtifactId": { "type": "string" }, - "ProductId": { + "ServiceActionId": { "type": "string" } }, "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" + "AWS::ServiceCatalog::ServiceActionAssociation" ], "type": "string" }, @@ -74469,7 +92370,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { + "AWS::ServiceCatalog::StackSetConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74504,10 +92405,19 @@ "AcceptLanguage": { "type": "string" }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, "Description": { "type": "string" }, - "LocalRoleName": { + "ExecutionRole": { "type": "string" }, "PortfolioId": { @@ -74516,95 +92426,31 @@ "ProductId": { "type": "string" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "RegionList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { + "StackInstanceControl": { "type": "string" } }, "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", "PortfolioId", "ProductId", - "Rules" + "RegionList", + "StackInstanceControl" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" + "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" }, @@ -74623,7 +92469,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::Portfolio": { + "AWS::ServiceCatalog::TagOption": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74655,34 +92501,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" + "Active": { + "type": "boolean" }, - "DisplayName": { + "Key": { "type": "string" }, - "ProviderName": { + "Value": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DisplayName", - "ProviderName" + "Key", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::Portfolio" + "AWS::ServiceCatalog::TagOption" ], "type": "string" }, @@ -74701,7 +92538,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "AWS::ServiceCatalog::TagOptionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74733,29 +92570,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { + "ResourceId": { "type": "string" }, - "PrincipalType": { + "TagOptionId": { "type": "string" } }, "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" + "ResourceId", + "TagOptionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" }, @@ -74774,7 +92604,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { + "AWS::ServiceCatalogAppRegistry::Application": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74806,28 +92636,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "Description": { "type": "string" }, - "ProductId": { + "Name": { "type": "string" }, - "SourcePortfolioId": { - "type": "string" + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PortfolioId", - "ProductId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" + "AWS::ServiceCatalogAppRegistry::Application" ], "type": "string" }, @@ -74846,7 +92678,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioShare": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74878,25 +92710,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" + "Attributes": { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes" }, - "AccountId": { + "Description": { "type": "string" }, - "PortfolioId": { + "Name": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "AccountId", - "PortfolioId" + "Attributes", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioShare" + "AWS::ServiceCatalogAppRegistry::AttributeGroup" ], "type": "string" }, @@ -74915,7 +92756,12 @@ ], "type": "object" }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74947,32 +92793,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { + "Application": { "type": "string" }, - "TagUpdateOnProvisionedProduct": { + "AttributeGroup": { "type": "string" } }, "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" + "Application", + "AttributeGroup" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" ], "type": "string" }, @@ -74991,7 +92827,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::StackSetConstraint": { + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75023,55 +92859,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { + "Application": { "type": "string" }, - "ProductId": { + "Resource": { "type": "string" }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { + "ResourceType": { "type": "string" } }, "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" + "Application", + "Resource", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" ], "type": "string" }, @@ -75090,7 +92897,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::TagOption": { + "AWS::ServiceDiscovery::HttpNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75122,25 +92929,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Active": { - "type": "boolean" - }, - "Key": { + "Description": { "type": "string" }, - "Value": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Key", - "Value" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOption" + "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" }, @@ -75159,7 +92968,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::TagOptionAssociation": { + "AWS::ServiceDiscovery::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75191,22 +93000,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceId": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { "type": "string" }, - "TagOptionId": { + "ServiceId": { "type": "string" } }, "required": [ - "ResourceId", - "TagOptionId" + "InstanceAttributes", + "ServiceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" + "AWS::ServiceDiscovery::Instance" ], "type": "string" }, @@ -75225,7 +93037,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::HttpNamespace": { + "AWS::ServiceDiscovery::PrivateDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75268,16 +93080,20 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Vpc": { + "type": "string" } }, "required": [ - "Name" + "Name", + "Vpc" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" + "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" }, @@ -75296,7 +93112,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::Instance": { + "AWS::ServiceDiscovery::PublicDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75328,25 +93144,27 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { + "Description": { "type": "string" }, - "ServiceId": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "InstanceAttributes", - "ServiceId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Instance" + "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" }, @@ -75365,7 +93183,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "AWS::ServiceDiscovery::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75400,28 +93218,33 @@ "Description": { "type": "string" }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, "Name": { "type": "string" }, + "NamespaceId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Vpc": { - "type": "string" } }, - "required": [ - "Name", - "Vpc" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" + "AWS::ServiceDiscovery::Service" ], "type": "string" }, @@ -75435,12 +93258,75 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75472,27 +93358,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "Name": { + "Principal": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" } }, "required": [ - "Name" + "Action", + "Principal", + "ProfileName", + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" + "AWS::Signer::ProfilePermission" ], "type": "string" }, @@ -75511,7 +93403,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::Service": { + "AWS::Signer::SigningProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75543,23 +93435,11 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { + "PlatformId": { "type": "string" }, - "NamespaceId": { - "type": "string" + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" }, "Tags": { "items": { @@ -75568,11 +93448,14 @@ "type": "array" } }, + "required": [ + "PlatformId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Service" + "AWS::Signer::SigningProfile" ], "type": "string" }, @@ -75586,69 +93469,18 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceDiscovery::Service.DnsConfig": { + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { "additionalProperties": false, "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, "Type": { "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { + "Value": { "type": "number" } }, @@ -75770,6 +93602,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, "DefinitionS3Location": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" }, @@ -75777,7 +93612,13 @@ "type": "string" }, "DefinitionSubstitutions": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" @@ -75836,7 +93677,7 @@ }, "type": "object" }, - "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "AWS::StepFunctions::StateMachine.Definition": { "additionalProperties": false, "properties": {}, "type": "object" @@ -76035,6 +93876,9 @@ "type": "string" } }, + "required": [ + "Handler" + ], "type": "object" }, "AWS::Synthetics::Canary.RunConfig": { @@ -76043,6 +93887,15 @@ "ActiveTracing": { "type": "boolean" }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "MemoryInMB": { "type": "number" }, @@ -76050,9 +93903,6 @@ "type": "number" } }, - "required": [ - "TimeoutInSeconds" - ], "type": "object" }, "AWS::Synthetics::Canary.Schedule": { @@ -76271,6 +94121,9 @@ "Certificate": { "type": "string" }, + "Domain": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -76335,7 +94188,7 @@ }, "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + "type": "string" }, "type": "array" }, @@ -76375,11 +94228,6 @@ "properties": {}, "type": "object" }, - "AWS::Transfer::Server.SecurityGroupId": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -76427,6 +94275,9 @@ "Policy": { "type": "string" }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, "Role": { "type": "string" }, @@ -76493,6 +94344,28 @@ ], "type": "object" }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, "AWS::Transfer::User.SshPublicKey": { "additionalProperties": false, "properties": {}, @@ -80480,6 +98353,9 @@ { "$ref": "#/definitions/AWS::Athena::WorkGroup" }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -80543,6 +98419,18 @@ { "$ref": "#/definitions/AWS::CloudFormation::Macro" }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, { "$ref": "#/definitions/AWS::CloudFormation::Stack" }, @@ -80564,9 +98452,15 @@ { "$ref": "#/definitions/AWS::CloudFront::Distribution" }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, { "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, { "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" }, @@ -80591,6 +98485,9 @@ { "$ref": "#/definitions/AWS::CloudWatch::InsightRule" }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, @@ -80705,6 +98602,9 @@ { "$ref": "#/definitions/AWS::Config::RemediationConfiguration" }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, { "$ref": "#/definitions/AWS::DAX::Cluster" }, @@ -80735,15 +98635,60 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, { "$ref": "#/definitions/AWS::Detective::Graph" }, { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -80834,6 +98779,12 @@ { "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, { "$ref": "#/definitions/AWS::EC2::NetworkInterface" }, @@ -80897,6 +98848,21 @@ { "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -80954,6 +98920,15 @@ { "$ref": "#/definitions/AWS::EC2::VolumeAttachment" }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -80984,6 +98959,9 @@ { "$ref": "#/definitions/AWS::EFS::MountTarget" }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, { "$ref": "#/definitions/AWS::EKS::Cluster" }, @@ -81008,9 +98986,21 @@ { "$ref": "#/definitions/AWS::EMR::Step" }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -81026,6 +99016,12 @@ { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, { "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" }, @@ -81071,6 +99067,15 @@ { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -81149,6 +99154,18 @@ { "$ref": "#/definitions/AWS::Glue::Partition" }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, { "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" }, @@ -81209,6 +99226,9 @@ { "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, @@ -81239,12 +99259,21 @@ { "$ref": "#/definitions/AWS::IAM::ManagedPolicy" }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, { "$ref": "#/definitions/AWS::IAM::Policy" }, { "$ref": "#/definitions/AWS::IAM::Role" }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, { "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" }, @@ -81254,6 +99283,9 @@ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, { "$ref": "#/definitions/AWS::IVS::Channel" }, @@ -81266,6 +99298,9 @@ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" }, @@ -81299,12 +99334,27 @@ { "$ref": "#/definitions/AWS::IoT1Click::Project" }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, { "$ref": "#/definitions/AWS::IoT::Authorizer" }, { "$ref": "#/definitions/AWS::IoT::Certificate" }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, { "$ref": "#/definitions/AWS::IoT::Policy" }, @@ -81314,6 +99364,12 @@ { "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -81323,6 +99379,9 @@ { "$ref": "#/definitions/AWS::IoT::TopicRule" }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, { "$ref": "#/definitions/AWS::IoTAnalytics::Channel" }, @@ -81341,18 +99400,45 @@ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Asset" }, { "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, { "$ref": "#/definitions/AWS::KMS::Alias" }, @@ -81410,6 +99496,9 @@ { "$ref": "#/definitions/AWS::Lambda::Alias" }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, { "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" }, @@ -81431,6 +99520,12 @@ { "$ref": "#/definitions/AWS::Lambda::Version" }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, @@ -81446,9 +99541,15 @@ { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, { "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" }, @@ -81464,6 +99565,21 @@ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -81515,6 +99631,18 @@ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, { "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" }, @@ -81632,6 +99760,18 @@ { "$ref": "#/definitions/AWS::QLDB::Stream" }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -81665,6 +99805,9 @@ { "$ref": "#/definitions/AWS::RDS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, { "$ref": "#/definitions/AWS::RDS::OptionGroup" }, @@ -81704,18 +99847,27 @@ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, { "$ref": "#/definitions/AWS::Route53::HealthCheck" }, { "$ref": "#/definitions/AWS::Route53::HostedZone" }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, { "$ref": "#/definitions/AWS::Route53::RecordSet" }, { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, { "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" }, @@ -81740,6 +99892,21 @@ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, { "$ref": "#/definitions/AWS::SDB::Domain" }, @@ -81803,21 +99970,63 @@ { "$ref": "#/definitions/AWS::SSO::Assignment" }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, { "$ref": "#/definitions/AWS::SageMaker::Endpoint" }, { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" }, @@ -81827,6 +100036,15 @@ { "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, { "$ref": "#/definitions/AWS::SageMaker::Workteam" }, @@ -81878,6 +100096,12 @@ { "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" }, @@ -81887,6 +100111,18 @@ { "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, { "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" }, @@ -81902,6 +100138,12 @@ { "$ref": "#/definitions/AWS::ServiceDiscovery::Service" }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, { "$ref": "#/definitions/AWS::StepFunctions::Activity" }, diff --git a/schema/sam.go b/schema/sam.go index ff93631950..0c2611f972 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -37,6 +37,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, "CertificateAuthorityArn": { "type": "string" }, @@ -51,6 +54,9 @@ var SamSchema = `{ }, "Validity": { "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" } }, "required": [ @@ -82,6 +88,282 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.CertificatePolicyList": { + "additionalProperties": false, + "properties": { + "CertificatePolicyList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsageList": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.CertificatePolicyList" + }, + "ExtendedKeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsageList" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralNameList" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralNameList": { + "additionalProperties": false, + "properties": { + "GeneralNameList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfoList" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfoList": { + "additionalProperties": false, + "properties": { + "PolicyQualifierInfoList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::Certificate.Validity": { "additionalProperties": false, "properties": { @@ -130,6 +412,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, "KeyAlgorithm": { "type": "string" }, @@ -181,6 +466,34 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { "additionalProperties": false, "properties": { @@ -199,6 +512,113 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { "additionalProperties": false, "properties": { @@ -256,6 +676,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess": { + "additionalProperties": false, + "properties": { + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthorityActivation": { "additionalProperties": false, "properties": { @@ -776,6 +1208,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "Data": { "type": "string" }, @@ -969,6 +1404,9 @@ var SamSchema = `{ "BuildSpec": { "type": "string" }, + "CustomHeaders": { + "type": "string" + }, "CustomRules": { "items": { "$ref": "#/definitions/AWS::Amplify::App.CustomRule" @@ -4160,6 +4598,9 @@ var SamSchema = `{ "RequestTemplates": { "type": "object" }, + "ResponseParameters": { + "type": "object" + }, "TemplateSelectionExpression": { "type": "string" }, @@ -4197,285 +4638,313 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { + "AWS::ApiGatewayV2::Integration.ResponseParameter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], + "Destination": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Source": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Destination", + "Source" ], "type": "object" }, - "AWS::ApiGatewayV2::Model": { + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ApiGatewayV2::Route": { + "AWS::ApiGatewayV2::Integration.TlsConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerNameToVerify": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse": { + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -4601,6 +5070,9 @@ var SamSchema = `{ "AccessLogSettings": { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" }, + "AccessPolicyId": { + "type": "string" + }, "ApiId": { "type": "string" }, @@ -5751,6 +6223,9 @@ var SamSchema = `{ "AccessToken": { "type": "string" }, + "ClientCredentialsArn": { + "type": "string" + }, "ConnectorOAuthRequest": { "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" }, @@ -6162,6 +6637,9 @@ var SamSchema = `{ }, "Snowflake": { "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" } }, "type": "object" @@ -6239,6 +6717,27 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppFlow::Flow.IdFieldNamesList": { + "additionalProperties": false, + "properties": { + "IdFieldNamesList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppFlow::Flow.InforNexusSourceProperties": { "additionalProperties": false, "properties": { @@ -6352,8 +6851,14 @@ var SamSchema = `{ "ErrorHandlingConfig": { "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" }, + "IdFieldNames": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IdFieldNamesList" + }, "Object": { "type": "string" + }, + "WriteOperationType": { + "type": "string" } }, "required": [ @@ -6518,6 +7023,9 @@ var SamSchema = `{ "ConnectorType": { "type": "string" }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, "SourceConnectorProperties": { "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" } @@ -6602,6 +7110,43 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { @@ -6681,7 +7226,6 @@ var SamSchema = `{ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -6870,9 +7414,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -6891,8 +7432,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -6973,7 +7513,6 @@ var SamSchema = `{ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7441,8 +7980,7 @@ var SamSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -7467,6 +8005,30 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { @@ -7497,6 +8059,9 @@ var SamSchema = `{ "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7515,6 +8080,33 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { @@ -7527,6 +8119,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { "additionalProperties": false, "properties": { @@ -7561,9 +8165,39 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" }, @@ -7587,6 +8221,9 @@ var SamSchema = `{ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" } }, "required": [ @@ -7615,6 +8252,9 @@ var SamSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" } }, "type": "object" @@ -7635,6 +8275,45 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { "additionalProperties": false, "properties": { @@ -7684,6 +8363,9 @@ var SamSchema = `{ "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" } @@ -7720,6 +8402,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -7728,6 +8422,9 @@ var SamSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" } }, "type": "object" @@ -7785,8 +8482,7 @@ var SamSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -7888,6 +8584,9 @@ var SamSchema = `{ "AWS::AppMesh::VirtualNode.ClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7906,6 +8605,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -8007,9 +8718,15 @@ var SamSchema = `{ "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" }, @@ -8051,6 +8768,9 @@ var SamSchema = `{ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" } }, "required": [ @@ -8079,6 +8799,9 @@ var SamSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" } }, "type": "object" @@ -8099,6 +8822,45 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -8108,6 +8870,30 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.PortMapping": { "additionalProperties": false, "properties": { @@ -8136,6 +8922,30 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TcpTimeout": { "additionalProperties": false, "properties": { @@ -8148,6 +8958,9 @@ var SamSchema = `{ "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" } @@ -8184,6 +8997,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -8192,8 +9017,68 @@ var SamSchema = `{ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" } }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], "type": "object" }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { @@ -8223,6 +9108,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { @@ -8291,8 +9188,7 @@ var SamSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -10724,6 +11620,9 @@ var SamSchema = `{ }, "type": "array" }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, "Logs": { "items": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" @@ -10758,6 +11657,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.Log": { "additionalProperties": false, "properties": { @@ -10935,7 +11849,10 @@ var SamSchema = `{ "type": "object" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "Type": { "type": "string" @@ -10968,18 +11885,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Athena::DataCatalog.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -11100,7 +12005,10 @@ var SamSchema = `{ "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "WorkGroupConfiguration": { "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" @@ -11150,6 +12058,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Athena::WorkGroup.ResultConfiguration": { "additionalProperties": false, "properties": { @@ -11180,18 +12100,6 @@ var SamSchema = `{ }, "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": { @@ -11201,6 +12109,9 @@ var SamSchema = `{ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11222,6 +12133,9 @@ var SamSchema = `{ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11237,6 +12151,199 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -11660,7 +12767,7 @@ var SamSchema = `{ "type": "string" }, "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" }, "PlacementTenancy": { "type": "string" @@ -11753,7 +12860,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "AWS::AutoScaling::LaunchConfiguration.MetadataOptions": { "additionalProperties": false, "properties": { "HttpEndpoint": { @@ -12741,6 +13848,12 @@ var SamSchema = `{ "type": "string" }, "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "EncryptionKeyArn": { @@ -12885,6 +13998,12 @@ var SamSchema = `{ "DesiredvCpus": { "type": "number" }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, "Ec2KeyPair": { "type": "string" }, @@ -12935,15 +14054,27 @@ var SamSchema = `{ } }, "required": [ - "InstanceRole", - "InstanceTypes", "MaxvCpus", - "MinvCpus", "Subnets", "Type" ], "type": "object" }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { "additionalProperties": false, "properties": { @@ -13003,6 +14134,15 @@ var SamSchema = `{ "Parameters": { "type": "object" }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, @@ -13060,6 +14200,9 @@ var SamSchema = `{ "ExecutionRoleArn": { "type": "string" }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, "Image": { "type": "string" }, @@ -13084,6 +14227,9 @@ var SamSchema = `{ }, "type": "array" }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, "Privileged": { "type": "boolean" }, @@ -13156,6 +14302,36 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -13222,6 +14398,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.NodeProperties": { "additionalProperties": false, "properties": { @@ -13277,6 +14462,12 @@ var SamSchema = `{ "properties": { "Attempts": { "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" } }, "type": "object" @@ -13794,6 +14985,12 @@ var SamSchema = `{ "properties": { "KeyspaceName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -13868,6 +15065,9 @@ var SamSchema = `{ }, "type": "array" }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, "RegularColumns": { "items": { "$ref": "#/definitions/AWS::Cassandra::Table.Column" @@ -13876,6 +15076,12 @@ var SamSchema = `{ }, "TableName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14198,6 +15404,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "ImageId": { + "type": "string" + }, "InstanceType": { "type": "string" }, @@ -14297,6 +15506,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Properties": { + "type": "object" + }, "ServiceToken": { "type": "string" } @@ -14402,7 +15614,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::Stack": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14434,42 +15646,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Arn": { + "type": "string" }, - "TemplateURL": { + "ModuleName": { "type": "string" }, - "TimeoutInMinutes": { - "type": "number" + "VersionId": { + "type": "string" } }, - "required": [ - "TemplateURL" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Stack" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -14483,12 +15674,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFormation::StackSet": { + "AWS::CloudFormation::ModuleVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14520,63 +15710,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AdministrationRoleARN": { + "ModuleName": { "type": "string" }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" - }, - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "ExecutionRoleName": { - "type": "string" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "PermissionModel": { - "type": "string" - }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "type": "array" - }, - "StackSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { + "ModulePackage": { "type": "string" } }, + "required": [ + "ModuleName", + "ModulePackage" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::StackSet" + "AWS::CloudFormation::ModuleVersion" ], "type": "string" }, @@ -14590,111 +15739,457 @@ var SamSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.AutoDeployment": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { - "additionalProperties": false, - "properties": { - "Accounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationalUnitIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.OperationPreferences": { - "additionalProperties": false, - "properties": { - "FailureToleranceCount": { - "type": "number" - }, - "FailureTolerancePercentage": { - "type": "number" - }, - "MaxConcurrentCount": { - "type": "number" - }, - "MaxConcurrentPercentage": { - "type": "number" - }, - "RegionOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterKey", - "ParameterValue" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.StackInstances": { - "additionalProperties": false, - "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" - }, - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DeploymentTargets", - "Regions" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::WaitCondition": { + "AWS::CloudFormation::ResourceDefaultVersion": { "additionalProperties": false, "properties": { - "CreationPolicy": { - "type": "object" - }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateURL": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdministrationRoleARN": { + "type": "string" + }, + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" + }, + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "ExecutionRoleName": { + "type": "string" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "PermissionModel": { + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "type": "array" + }, + "StackSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + } + }, + "required": [ + "PermissionModel", + "StackSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::StackSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.AutoDeployment": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "Accounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "FailureToleranceCount": { + "type": "number" + }, + "FailureTolerancePercentage": { + "type": "number" + }, + "MaxConcurrentCount": { + "type": "number" + }, + "MaxConcurrentPercentage": { + "type": "number" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterKey": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterKey", + "ParameterValue" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::WaitCondition": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -15183,6 +16678,12 @@ var SamSchema = `{ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15323,6 +16824,12 @@ var SamSchema = `{ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15699,6 +17206,90 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::CloudFront::KeyGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" + } + }, + "required": [ + "KeyGroupConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::KeyGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Items", + "Name" + ], + "type": "object" + }, "AWS::CloudFront::OriginRequestPolicy": { "additionalProperties": false, "properties": { @@ -15842,6 +17433,91 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, "AWS::CloudFront::RealtimeLogConfig": { "additionalProperties": false, "properties": { @@ -16835,6 +18511,108 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, "AWS::CodeArtifact::Domain": { "additionalProperties": false, "properties": { @@ -16870,8 +18648,17 @@ var SamSchema = `{ "DomainName": { "type": "string" }, + "EncryptionKey": { + "type": "string" + }, "PermissionsPolicyDocument": { "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -16935,6 +18722,12 @@ var SamSchema = `{ "Description": { "type": "string" }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, "ExternalConnections": { "items": { "type": "string" @@ -16947,6 +18740,12 @@ var SamSchema = `{ "RepositoryName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Upstreams": { "items": { "type": "string" @@ -16955,6 +18754,7 @@ var SamSchema = `{ } }, "required": [ + "DomainName", "RepositoryName" ], "type": "object" @@ -17024,6 +18824,9 @@ var SamSchema = `{ "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, + "ConcurrentBuildLimit": { + "type": "number" + }, "Description": { "type": "string" }, @@ -17613,6 +19416,9 @@ var SamSchema = `{ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "EncryptionDisabled": { "type": "boolean" }, @@ -18501,6 +20307,12 @@ var SamSchema = `{ "Owner": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -19140,6 +20952,9 @@ var SamSchema = `{ "Code": { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" }, + "ConnectionArn": { + "type": "string" + }, "EnableIssues": { "type": "boolean" }, @@ -19160,7 +20975,6 @@ var SamSchema = `{ } }, "required": [ - "RepositoryAccessToken", "RepositoryName", "RepositoryOwner" ], @@ -19831,6 +21645,30 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cognito::UserPool.DeviceConfiguration": { "additionalProperties": false, "properties": { @@ -19885,12 +21723,21 @@ var SamSchema = `{ "CreateAuthChallenge": { "type": "string" }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, "CustomMessage": { "type": "string" }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, "DefineAuthChallenge": { "type": "string" }, + "KMSKeyID": { + "type": "string" + }, "PostAuthentication": { "type": "string" }, @@ -20208,6 +22055,9 @@ var SamSchema = `{ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -22019,6 +23869,81 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DAX::Cluster": { "additionalProperties": false, "properties": { @@ -22312,6 +24237,12 @@ var SamSchema = `{ }, "State": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -22336,6 +24267,25 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { @@ -22348,6 +24298,9 @@ var SamSchema = `{ "IntervalUnit": { "type": "string" }, + "Location": { + "type": "string" + }, "Times": { "items": { "type": "string" @@ -22357,6 +24310,25 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -22388,13 +24360,67 @@ var SamSchema = `{ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" }, + "Target": { + "type": "string" + }, "TargetRegion": { "type": "string" } }, "required": [ - "Encrypted", - "TargetRegion" + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CmkArn": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + } + }, + "required": [ + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventParameters": { + "additionalProperties": false, + "properties": { + "DescriptionRegex": { + "type": "string" + }, + "EventType": { + "type": "string" + }, + "SnapshotOwner": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "EventType", + "SnapshotOwner" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventSource": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" ], "type": "object" }, @@ -22434,12 +24460,27 @@ var SamSchema = `{ "AWS::DLM::LifecyclePolicy.PolicyDetails": { "additionalProperties": false, "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, "PolicyType": { "type": "string" }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, "ResourceTypes": { "items": { "type": "string" @@ -22459,11 +24500,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "ResourceTypes", - "Schedules", - "TargetTags" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.RetainRule": { @@ -22505,6 +24541,12 @@ var SamSchema = `{ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule" }, + "ShareRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" + }, + "type": "array" + }, "TagsToAdd": { "items": { "$ref": "#/definitions/Tag" @@ -22520,6 +24562,24 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.ShareRule": { + "additionalProperties": false, + "properties": { + "TargetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UnshareInterval": { + "type": "number" + }, + "UnshareIntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -22622,6 +24682,9 @@ var SamSchema = `{ "DatabaseName": { "type": "string" }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, "DynamoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" }, @@ -22640,6 +24703,9 @@ var SamSchema = `{ "ExtraConnectionAttributes": { "type": "string" }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, "KafkaSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" }, @@ -22649,18 +24715,33 @@ var SamSchema = `{ "KmsKeyId": { "type": "string" }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, "NeptuneSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, "Password": { "type": "string" }, "Port": { "type": "number" }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -22670,6 +24751,9 @@ var SamSchema = `{ "SslMode": { "type": "string" }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22707,6 +24791,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.DynamoDbSettings": { "additionalProperties": false, "properties": { @@ -22734,6 +24830,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KafkaSettings": { "additionalProperties": false, "properties": { @@ -22761,6 +24869,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.MongoDbSettings": { "additionalProperties": false, "properties": { @@ -22791,6 +24911,12 @@ var SamSchema = `{ "Port": { "type": "number" }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, "ServerName": { "type": "string" }, @@ -22800,6 +24926,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.NeptuneSettings": { "additionalProperties": false, "properties": { @@ -22827,6 +24965,48 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -22854,6 +25034,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::EventSubscription": { "additionalProperties": false, "properties": { @@ -23230,7 +25422,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DataPipeline::Pipeline": { + "AWS::DataBrew::Dataset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23262,49 +25454,149 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { + "Format": { "type": "string" }, + "FormatOptions": { + "type": "object" + }, + "Input": { + "type": "object" + }, "Name": { "type": "string" }, - "ParameterObjects": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + "$ref": "#/definitions/Tag" }, "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "ParameterValues": { + { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" }, - "PipelineObjects": { + "EncryptionKeyArn": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, + "JobSample": { + "type": "object" + }, + "LogSubscription": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "type": "object" + }, + "Outputs": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + "$ref": "#/definitions/AWS::DataBrew::Job.Output" }, "type": "array" }, - "PipelineTags": { + "ProjectName": { + "type": "string" + }, + "Recipe": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" } }, "required": [ "Name", - "ParameterObjects" + "RoleArn", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::DataBrew::Job" ], "type": "string" }, @@ -23323,115 +25615,70 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DataPipeline::Pipeline.Field": { + "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { + "Delimiter": { "type": "string" } }, - "required": [ - "Key" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { - "Key": { + "CompressionFormat": { "type": "string" }, - "StringValue": { + "Format": { "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + "type": "string" }, "type": "array" - }, - "Id": { - "type": "string" } }, "required": [ - "Attributes", - "Id" + "Location" ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterValue": { + "AWS::DataBrew::Job.OutputFormatOptions": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" } }, - "required": [ - "Id", - "StringValue" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.PipelineObject": { + "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { + "Bucket": { "type": "string" }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { "Key": { "type": "string" - }, - "Value": { - "type": "string" } }, "required": [ - "Key", - "Value" + "Bucket" ], "type": "object" }, - "AWS::Detective::Graph": { + "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23462,12 +25709,40 @@ var SamSchema = `{ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "DatasetName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecipeName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sample": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "Name", + "RecipeName", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::Graph" + "AWS::DataBrew::Project" ], "type": "string" }, @@ -23481,11 +25756,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Detective::MemberInvitation": { + "AWS::DataBrew::Recipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23517,29 +25793,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GraphArn": { + "Description": { "type": "string" }, - "MemberEmailAddress": { + "Name": { "type": "string" }, - "MemberId": { - "type": "string" + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" }, - "Message": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" + "Name", + "Steps" ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::DataBrew::Recipe" ], "type": "string" }, @@ -23558,108 +25839,422 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::DataBrew::Recipe.Action": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operation": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - ], + "Parameters": { "type": "object" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.ConditionExpression": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::DirectoryService::MicrosoftAD" - ], + "TargetColumn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Condition", + "TargetColumn" ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "SubnetIds": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { + "type": "object" + }, + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { "items": { "type": "string" }, "type": "array" }, - "VpcId": { + "SourceColumn": { + "type": "string" + }, + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "type": "array" } }, "required": [ - "SubnetIds", - "VpcId" + "Action" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23691,42 +26286,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { + "CronExpression": { "type": "string" }, - "EnableSso": { - "type": "boolean" + "JobNames": { + "items": { + "type": "string" + }, + "type": "array" }, "Name": { "type": "string" }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "Password", - "Size", - "VpcSettings" + "CronExpression", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::SimpleAD" + "AWS::DataBrew::Schedule" ], "type": "string" }, @@ -23745,26 +26332,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DocDB::DBCluster": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23796,82 +26364,49 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" + "Activate": { + "type": "boolean" }, - "DBClusterParameterGroupName": { + "Description": { "type": "string" }, - "DBSubnetGroupName": { + "Name": { "type": "string" }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { + "ParameterObjects": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" }, "type": "array" }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" }, - "Tags": { + "PipelineObjects": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" }, "type": "array" }, - "VpcSecurityGroupIds": { + "PipelineTags": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" }, "type": "array" } }, "required": [ - "MasterUserPassword", - "MasterUsername" + "Name", + "ParameterObjects" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBCluster" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -23890,28 +26425,136 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DocDB::DBClusterParameterGroup": { + "AWS::DataPipeline::Pipeline.Field": { "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" - }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, "type": "array" } ] @@ -23922,35 +26565,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ActivationKey": { "type": "string" }, - "Family": { + "AgentName": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "Parameters": { - "type": "object" + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcEndpointId": { + "type": "string" } }, "required": [ - "Description", - "Family", - "Parameters" + "ActivationKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBClusterParameterGroup" + "AWS::DataSync::Agent" ], "type": "string" }, @@ -23969,7 +26619,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DocDB::DBInstance": { + "AWS::DataSync::LocationEFS": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24001,22 +26651,13 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" }, - "DBInstanceIdentifier": { + "EfsFilesystemArn": { "type": "string" }, - "PreferredMaintenanceWindow": { + "Subdirectory": { "type": "string" }, "Tags": { @@ -24027,14 +26668,14 @@ var SamSchema = `{ } }, "required": [ - "DBClusterIdentifier", - "DBInstanceClass" + "Ec2Config", + "EfsFilesystemArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBInstance" + "AWS::DataSync::LocationEFS" ], "type": "string" }, @@ -24053,7 +26694,26 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DocDB::DBSubnetGroup": { + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24085,34 +26745,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "Domain": { "type": "string" }, - "DBSubnetGroupName": { + "FsxFilesystemArn": { "type": "string" }, - "SubnetIds": { + "Password": { + "type": "string" + }, + "SecurityGroupArns": { "items": { "type": "string" }, "type": "array" }, + "Subdirectory": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "User": { + "type": "string" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBSubnetGroup" + "AWS::DataSync::LocationFSxWindows" ], "type": "string" }, @@ -24131,7 +26802,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DynamoDB::Table": { + "AWS::DataSync::LocationNFS": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24163,46 +26834,16 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" + "ServerHostname": { + "type": "string" }, - "TableName": { + "Subdirectory": { "type": "string" }, "Tags": { @@ -24210,19 +26851,18 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" } }, "required": [ - "KeySchema" + "OnPremConfig", + "ServerHostname", + "Subdirectory" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Table" + "AWS::DataSync::LocationNFS" ], "type": "string" }, @@ -24241,174 +26881,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::DynamoDB::Table.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "AWS::DataSync::LocationNFS.MountOptions": { "additionalProperties": false, "properties": { - "IndexName": { + "Version": { "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::DynamoDB::Table.Projection": { + "AWS::DataSync::LocationNFS.OnPremConfig": { "additionalProperties": false, "properties": { - "NonKeyAttributes": { + "AgentArns": { "items": { "type": "string" }, "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "required": [ - "AttributeName", - "Enabled" + "AgentArns" ], "type": "object" }, - "AWS::EC2::CapacityReservation": { + "AWS::DataSync::LocationObjectStorage": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24440,54 +26937,50 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AccessKey": { "type": "string" }, - "EbsOptimized": { - "type": "boolean" + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EndDate": { + "BucketName": { "type": "string" }, - "EndDateType": { + "SecretKey": { "type": "string" }, - "EphemeralStorage": { - "type": "boolean" + "ServerHostname": { + "type": "string" }, - "InstanceCount": { + "ServerPort": { "type": "number" }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { + "ServerProtocol": { "type": "string" }, - "InstanceType": { + "Subdirectory": { "type": "string" }, - "TagSpecifications": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Tenancy": { - "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" + "AgentArns", + "BucketName", + "ServerHostname" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::DataSync::LocationObjectStorage" ], "type": "string" }, @@ -24506,22 +26999,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { + "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24553,21 +27031,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + "S3BucketArn": { + "type": "string" }, - "VpcId": { + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { + "type": "string" + }, + "Subdirectory": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "VpcId" + "S3BucketArn", + "S3Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::DataSync::LocationS3" ], "type": "string" }, @@ -24586,19 +27077,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::CarrierGateway.Tags": { + "AWS::DataSync::LocationS3.S3Config": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "BucketAccessRoleArn": { + "type": "string" } }, + "required": [ + "BucketAccessRoleArn" + ], "type": "object" }, - "AWS::EC2::ClientVpnAuthorizationRule": { + "AWS::DataSync::LocationSMB": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24630,31 +27121,49 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessGroupId": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { "type": "string" }, - "AuthorizeAllGroups": { - "type": "boolean" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" }, - "ClientVpnEndpointId": { + "Password": { "type": "string" }, - "Description": { + "ServerHostname": { "type": "string" }, - "TargetNetworkCidr": { + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::DataSync::LocationSMB" ], "type": "string" }, @@ -24673,7 +27182,16 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint": { + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24705,69 +27223,46 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationOptions": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "DestinationLocationArn": { + "type": "string" + }, + "Excludes": { "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" }, "type": "array" }, - "ClientCidrBlock": { + "Name": { "type": "string" }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" }, - "Description": { + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" + }, + "SourceLocationArn": { "type": "string" }, - "DnsServers": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfServicePortal": { - "type": "string" - }, - "ServerCertificateArn": { - "type": "string" - }, - "SplitTunnel": { - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" - }, - "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" } }, "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" + "DestinationLocationArn", + "SourceLocationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::DataSync::Task" ], "type": "string" }, @@ -24786,104 +27281,76 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "AWS::DataSync::Task.FilterRule": { "additionalProperties": false, "properties": { - "ClientRootCertificateChainArn": { + "FilterType": { + "type": "string" + }, + "Value": { "type": "string" } }, - "required": [ - "ClientRootCertificateChainArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + "Atime": { + "type": "string" }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + "BytesPerSecond": { + "type": "number" }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + "Gid": { + "type": "string" }, - "Type": { + "LogLevel": { "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { + }, + "Mtime": { "type": "string" }, - "CloudwatchLogStream": { + "OverwriteMode": { "type": "string" }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { + "PosixPermissions": { "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { + }, + "PreserveDeletedFiles": { "type": "string" }, - "SelfServiceSAMLProviderArn": { + "PreserveDevices": { + "type": "string" + }, + "TaskQueueing": { + "type": "string" + }, + "TransferMode": { + "type": "string" + }, + "Uid": { + "type": "string" + }, + "VerifyMode": { "type": "string" } }, - "required": [ - "SAMLProviderArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { - "ResourceType": { + "ScheduleExpression": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ResourceType", - "Tags" + "ScheduleExpression" ], "type": "object" }, - "AWS::EC2::ClientVpnRoute": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24914,30 +27381,12 @@ var SamSchema = `{ }, "Properties": { "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::Detective::Graph" ], "type": "string" }, @@ -24951,12 +27400,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24988,22 +27436,32 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ClientVpnEndpointId": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { "type": "string" }, - "SubnetId": { + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "SubnetId" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::Detective::MemberInvitation" ], "type": "string" }, @@ -25022,7 +27480,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::CustomerGateway": { + "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25054,32 +27512,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" } }, "required": [ - "BgpAsn", - "IpAddress", - "Type" + "Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::DevOpsGuru::NotificationChannel" ], "type": "string" }, @@ -25098,7 +27542,25 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25130,42 +27592,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" } }, + "required": [ + "ResourceCollectionFilter" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::DevOpsGuru::ResourceCollection" ], "type": "string" }, @@ -25179,11 +27617,33 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EC2Fleet": { + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25215,55 +27675,38 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ExcessCapacityTerminationPolicy": { - "type": "string" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" - }, - "type": "array" - }, - "OnDemandOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" - }, - "ReplaceUnhealthyInstances": { + "CreateAlias": { "type": "boolean" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" - }, - "type": "array" - }, - "TargetCapacitySpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" + "Edition": { + "type": "string" }, - "TerminateInstancesWithExpiration": { + "EnableSso": { "type": "boolean" }, - "Type": { + "Name": { "type": "string" }, - "ValidFrom": { + "Password": { "type": "string" }, - "ValidUntil": { + "ShortName": { "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" } }, "required": [ - "LaunchTemplateConfigs", - "TargetCapacitySpecification" + "Name", + "Password", + "VpcSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::DirectoryService::MicrosoftAD" ], "type": "string" }, @@ -25282,190 +27725,26 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "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.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { + "VpcId": { "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" } }, "required": [ - "TotalTargetCapacity" + "SubnetIds", + "VpcId" ], "type": "object" }, - "AWS::EC2::EIP": { + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25497,27 +27776,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Domain": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { "type": "string" }, - "InstanceId": { + "EnableSso": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "PublicIpv4Pool": { + "Password": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" } }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EIP" + "AWS::DirectoryService::SimpleAD" ], "type": "string" }, @@ -25531,11 +27825,31 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EIPAssociation": { + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25567,88 +27881,82 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { "type": "string" }, - "EIP": { + "DBClusterParameterGroupName": { "type": "string" }, - "InstanceId": { + "DBSubnetGroupName": { "type": "string" }, - "NetworkInterfaceId": { + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { "type": "string" }, - "PrivateIpAddress": { + "KmsKeyId": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "MasterUserPassword": { "type": "string" }, - { + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } }, "required": [ - "VpcId" + "MasterUserPassword", + "MasterUsername" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" + "AWS::DocDB::DBCluster" ], "type": "string" }, @@ -25667,7 +27975,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::FlowLog": { + "AWS::DocDB::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25699,50 +28007,35 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { + "Description": { "type": "string" }, - "LogGroupName": { + "Family": { "type": "string" }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { + "Name": { "type": "string" }, - "ResourceType": { - "type": "string" + "Parameters": { + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrafficType": { - "type": "string" } }, "required": [ - "ResourceId", - "ResourceType", - "TrafficType" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::FlowLog" + "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" }, @@ -25761,7 +28054,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::GatewayRouteTableAssociation": { + "AWS::DocDB::DBInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25793,22 +28086,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GatewayId": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "RouteTableId": { + "DBClusterIdentifier": { "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GatewayId", - "RouteTableId" + "DBClusterIdentifier", + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" + "AWS::DocDB::DBInstance" ], "type": "string" }, @@ -25827,7 +28138,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::Host": { + "AWS::DocDB::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25859,28 +28170,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoPlacement": { + "DBSubnetGroupDescription": { "type": "string" }, - "AvailabilityZone": { + "DBSubnetGroupName": { "type": "string" }, - "HostRecovery": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "InstanceType": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Host" + "AWS::DocDB::DBSubnetGroup" ], "type": "string" }, @@ -25899,12 +28216,9 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance": { + "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { - "CreationPolicy": { - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -25934,130 +28248,49 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { + "AttributeDefinitions": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" }, "type": "array" }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { + "BillingMode": { "type": "string" }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "GlobalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" }, "type": "array" }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { + "KeySchema": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" }, "type": "array" }, - "Monitoring": { - "type": "boolean" + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" }, - "NetworkInterfaces": { + "LocalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" }, "type": "array" }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, - "SourceDestCheck": { - "type": "boolean" + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" }, - "SubnetId": { + "TableName": { "type": "string" }, "Tags": { @@ -26066,24 +28299,18 @@ var SamSchema = `{ }, "type": "array" }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" } }, + "required": [ + "KeySchema" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Instance" + "AWS::DynamoDB::Table" ], "type": "string" }, @@ -26097,286 +28324,304 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.AssociationParameter": { + "AWS::DynamoDB::Table.AttributeDefinition": { "additionalProperties": false, "properties": { - "Key": { + "AttributeName": { "type": "string" }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" + "AttributeType": { + "type": "string" } }, "required": [ - "Key", - "Value" + "AttributeName", + "AttributeType" ], "type": "object" }, - "AWS::EC2::Instance.BlockDeviceMapping": { + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeviceName": { + "IndexName": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" }, - "VirtualName": { - "type": "string" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" } }, "required": [ - "DeviceName" + "IndexName", + "KeySchema", + "Projection" ], "type": "object" }, - "AWS::EC2::Instance.CpuOptions": { + "AWS::DynamoDB::Table.KeySchema": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "AttributeName": { + "type": "string" }, - "ThreadsPerCore": { - "type": "number" + "KeyType": { + "type": "string" } }, + "required": [ + "AttributeName", + "KeyType" + ], "type": "object" }, - "AWS::EC2::Instance.CreditSpecification": { + "AWS::DynamoDB::Table.KinesisStreamSpecification": { "additionalProperties": false, "properties": { - "CPUCredits": { + "StreamArn": { "type": "string" } }, + "required": [ + "StreamArn" + ], "type": "object" }, - "AWS::EC2::Instance.Ebs": { + "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { + "IndexName": { "type": "string" }, - "VolumeSize": { - "type": "number" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "VolumeType": { - "type": "string" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" } }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], "type": "object" }, - "AWS::EC2::Instance.ElasticGpuSpecification": { + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { "additionalProperties": false, "properties": { - "Type": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "AWS::DynamoDB::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { - "Count": { + "ReadCapacityUnits": { "type": "number" }, - "Type": { - "type": "string" + "WriteCapacityUnits": { + "type": "number" } }, "required": [ - "Type" + "ReadCapacityUnits", + "WriteCapacityUnits" ], "type": "object" }, - "AWS::EC2::Instance.HibernationOptions": { + "AWS::DynamoDB::Table.SSESpecification": { "additionalProperties": false, "properties": { - "Configured": { + "KMSMasterKeyId": { + "type": "string" + }, + "SSEEnabled": { "type": "boolean" + }, + "SSEType": { + "type": "string" } }, + "required": [ + "SSEEnabled" + ], "type": "object" }, - "AWS::EC2::Instance.InstanceIpv6Address": { + "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "StreamViewType": { "type": "string" } }, "required": [ - "Ipv6Address" + "StreamViewType" ], "type": "object" }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { + "AWS::DynamoDB::Table.TimeToLiveSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { + "AttributeName": { "type": "string" }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "required": [ - "LicenseConfigurationArn" + "AttributeName", + "Enabled" ], "type": "object" }, - "AWS::EC2::Instance.NetworkInterface": { + "AWS::EC2::CapacityReservation": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Ipv6AddressCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" }, - "PrivateIpAddress": { + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], "type": "string" }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DeviceIndex" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "AWS::EC2::CapacityReservation.TagSpecification": { "additionalProperties": false, "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { + "ResourceType": { "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" } }, - "required": [ - "Device", - "VolumeId" - ], "type": "object" }, - "AWS::EC2::InternetGateway": { + "AWS::EC2::CarrierGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26413,13 +28658,19 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcId": { + "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InternetGateway" + "AWS::EC2::CarrierGateway" ], "type": "string" }, @@ -26433,11 +28684,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate": { + "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26469,18 +28721,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + "AccessGroupId": { + "type": "string" }, - "LaunchTemplateName": { + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { "type": "string" } }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" }, @@ -26494,485 +28759,294 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "AWS::EC2::ClientVpnEndpoint": { "additionalProperties": false, "properties": { - "DeviceName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoDevice": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], "type": "string" }, - "VirtualName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { + "ClientRootCertificateChainArn": { "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, + "required": [ + "ClientRootCertificateChainArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationId": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CpuOptions": { + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { + "LambdaFunctionArn": { "type": "string" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ebs": { + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { + "CloudwatchLogGroup": { "type": "string" }, - "SnapshotId": { + "CloudwatchLogStream": { "type": "string" }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "Enabled": { + "type": "boolean" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { "additionalProperties": false, "properties": { - "Type": { + "DirectoryId": { "type": "string" } }, + "required": [ + "DirectoryId" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { "additionalProperties": false, "properties": { - "Arn": { + "SAMLProviderArn": { "type": "string" }, - "Name": { + "SelfServiceSAMLProviderArn": { "type": "string" } }, + "required": [ + "SAMLProviderArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { - "MarketType": { + "ResourceType": { "type": "string" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceType", + "Tags" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { + "AWS::EC2::ClientVpnRoute": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Metadata": { + "type": "object" }, "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "ClientVpnEndpointId": { "type": "string" }, - "LocalGatewayRouteTableId": { + "Description": { "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { "type": "string" } }, "required": [ + "ClientVpnEndpointId", "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" + "TargetVpcSubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::EC2::ClientVpnRoute" ], "type": "string" }, @@ -26991,7 +29065,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "AWS::EC2::ClientVpnTargetNetworkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27023,25 +29097,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayRouteTableId": { + "ClientVpnEndpointId": { "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags" - }, - "VpcId": { + "SubnetId": { "type": "string" } }, "required": [ - "LocalGatewayRouteTableId", - "VpcId" + "ClientVpnEndpointId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" }, @@ -27060,19 +29131,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NatGateway": { + "AWS::EC2::CustomerGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27104,10 +29163,10 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { - "type": "string" + "BgpAsn": { + "type": "number" }, - "SubnetId": { + "IpAddress": { "type": "string" }, "Tags": { @@ -27115,17 +29174,21 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "AllocationId", - "SubnetId" + "BgpAsn", + "IpAddress", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NatGateway" + "AWS::EC2::CustomerGateway" ], "type": "string" }, @@ -27144,7 +29207,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::NetworkAcl": { + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27176,24 +29239,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpcId": { - "type": "string" } }, - "required": [ - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::EC2::DHCPOptions" ], "type": "string" }, @@ -27207,12 +29288,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkAclEntry": { + "AWS::EC2::EC2Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27244,45 +29324,55 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { + "ExcessCapacityTerminationPolicy": { "type": "string" }, - "Egress": { + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" + }, + "type": "array" + }, + "OnDemandOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { "type": "boolean" }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" }, - "Ipv6CidrBlock": { - "type": "string" + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + }, + "type": "array" }, - "NetworkAclId": { - "type": "string" + "TargetCapacitySpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + "TerminateInstancesWithExpiration": { + "type": "boolean" }, - "Protocol": { - "type": "number" + "Type": { + "type": "string" }, - "RuleAction": { + "ValidFrom": { "type": "string" }, - "RuleNumber": { - "type": "number" + "ValidUntil": { + "type": "string" } }, "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" + "LaunchTemplateConfigs", + "TargetCapacitySpecification" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::EC2::EC2Fleet" ], "type": "string" }, @@ -27301,163 +29391,190 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry.Icmp": { + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { "additionalProperties": false, "properties": { - "Code": { - "type": "number" + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" }, - "Type": { - "type": "number" + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" } }, "type": "object" }, - "AWS::EC2::NetworkAclEntry.PortRange": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { "additionalProperties": false, "properties": { - "From": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { "type": "number" }, - "To": { + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInterface": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LaunchTemplateId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LaunchTemplateName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], + "MaxTotalPrice": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Primary": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { "type": "boolean" }, - "PrivateIpAddress": { + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" } }, "required": [ - "Primary", - "PrivateIpAddress" + "TotalTargetCapacity" ], "type": "object" }, - "AWS::EC2::NetworkInterfaceAttachment": { + "AWS::EC2::EIP": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27489,29 +29606,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { + "Domain": { "type": "string" }, "InstanceId": { "type": "string" }, - "NetworkInterfaceId": { + "PublicIpv4Pool": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::EC2::EIP" ], "type": "string" }, @@ -27525,12 +29640,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInterfacePermission": { + "AWS::EC2::EIPAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27562,26 +29676,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { "type": "string" }, "NetworkInterfaceId": { "type": "string" }, - "Permission": { + "PrivateIpAddress": { "type": "string" } }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::EC2::EIPAssociation" ], "type": "string" }, @@ -27595,12 +29710,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::PlacementGroup": { + "AWS::EC2::EgressOnlyInternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27632,15 +29746,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Strategy": { + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" }, @@ -27654,11 +29771,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::PrefixList": { + "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27690,19 +29808,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { + "DeliverLogsPermissionArn": { "type": "string" }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" + "LogDestination": { + "type": "string" }, - "MaxEntries": { + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { "type": "number" }, - "PrefixListName": { + "ResourceId": { + "type": "string" + }, + "ResourceType": { "type": "string" }, "Tags": { @@ -27710,18 +29837,21 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficType": { + "type": "string" } }, "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" + "ResourceId", + "ResourceType", + "TrafficType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PrefixList" + "AWS::EC2::FlowLog" ], "type": "string" }, @@ -27740,22 +29870,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { + "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27787,54 +29902,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, "GatewayId": { "type": "string" }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, "RouteTableId": { "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" } }, "required": [ + "GatewayId", "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Route" + "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" }, @@ -27853,7 +29936,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::RouteTable": { + "AWS::EC2::Host": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27885,24 +29968,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "AutoPlacement": { + "type": "string" }, - "VpcId": { + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { "type": "string" } }, "required": [ - "VpcId" + "AvailabilityZone", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteTable" + "AWS::EC2::Host" ], "type": "string" }, @@ -27921,9 +30008,12 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::SecurityGroup": { + "AWS::EC2::Instance": { "additionalProperties": false, "properties": { + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -27953,42 +30043,159 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupDescription": { + "AdditionalInfo": { "type": "string" }, - "GroupName": { + "Affinity": { "type": "string" }, - "SecurityGroupEgress": { + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" }, "type": "array" }, - "SecurityGroupIngress": { + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" }, "type": "array" }, + "SubnetId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcId": { + "Tenancy": { + "type": "string" + }, + "UserData": { "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" } }, - "required": [ - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::EC2::Instance" ], "type": "string" }, @@ -28002,171 +30209,295 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Egress": { + "AWS::EC2::Instance.AssociationParameter": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { + "Key": { "type": "string" }, - "ToPort": { - "type": "number" + "Value": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "IpProtocol" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Ingress": { + "AWS::EC2::Instance.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "CidrIp": { + "DeviceName": { "type": "string" }, - "CidrIpv6": { - "type": "string" + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, - "Description": { + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" }, - "FromPort": { + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { "type": "number" }, - "IpProtocol": { + "KmsKeyId": { "type": "string" }, - "SourcePrefixListId": { + "SnapshotId": { "type": "string" }, - "SourceSecurityGroupId": { + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" }, - "SourceSecurityGroupName": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { "type": "string" }, - "SourceSecurityGroupOwnerId": { + "LaunchTemplateName": { "type": "string" }, - "ToPort": { - "type": "number" + "Version": { + "type": "string" } }, "required": [ - "IpProtocol" + "Version" ], "type": "object" }, - "AWS::EC2::SecurityGroupEgress": { + "AWS::EC2::Instance.LicenseSpecification": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LicenseConfigurationArn": { "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeleteOnTermination": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DeviceIndex" ], "type": "object" }, - "AWS::EC2::SecurityGroupIngress": { + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28198,51 +30529,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "IpProtocol" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::EC2::InternetGateway" ], "type": "string" }, @@ -28256,12 +30554,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet": { + "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28293,18 +30590,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" } }, - "required": [ - "SpotFleetRequestConfigData" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SpotFleet" + "AWS::EC2::LaunchTemplate" ], "type": "string" }, @@ -28318,19 +30615,18 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { "additionalProperties": false, "properties": { "DeviceName": { "type": "string" }, "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" }, "NoDevice": { "type": "string" @@ -28339,39 +30635,54 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "DeviceName" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { - "Name": { + "CapacityReservationPreference": { "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { "additionalProperties": false, "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" } }, - "required": [ - "ClassicLoadBalancers" - ], "type": "object" }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { "additionalProperties": false, "properties": { "DeleteOnTermination": { @@ -28383,9 +30694,15 @@ var SamSchema = `{ "Iops": { "type": "number" }, + "KmsKeyId": { + "type": "string" + }, "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -28395,366 +30712,361 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Version" - ], "type": "object" }, - "AWS::EC2::SpotFleet.GroupIdentifier": { + "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { - "GroupId": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "GroupId" - ], "type": "object" }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "Name": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { "additionalProperties": false, "properties": { "Ipv6Address": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" }, - "DeleteOnTermination": { - "type": "boolean" + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" }, - "Description": { - "type": "string" + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" }, - "DeviceIndex": { - "type": "number" + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" }, - "Groups": { + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" }, "type": "array" }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "ElasticInferenceAccelerators": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" }, "type": "array" }, - "NetworkInterfaceId": { + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { "type": "string" }, - "PrivateIpAddresses": { + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" }, "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "type": "number" + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, - "SubnetId": { + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + "Count": { + "type": "number" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "AWS::EC2::LaunchTemplate.LicenseSpecification": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { + "LicenseConfigurationArn": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.MetadataOptions": { "additionalProperties": false, "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + "HttpEndpoint": { + "type": "string" }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "AWS::EC2::LaunchTemplate.Monitoring": { "additionalProperties": false, "properties": { - "Primary": { + "Enabled": { "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" } }, - "required": [ - "PrivateIpAddress" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "AWS::EC2::LaunchTemplate.NetworkInterface": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { + "AssociateCarrierIpAddress": { "type": "boolean" }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "AssociatePublicIpAddress": { + "type": "boolean" }, - "KernelId": { - "type": "string" + "DeleteOnTermination": { + "type": "boolean" }, - "KeyName": { + "Description": { "type": "string" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + "DeviceIndex": { + "type": "number" }, - "NetworkInterfaces": { + "Groups": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + "type": "string" }, "type": "array" }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { + "InterfaceType": { "type": "string" }, - "SecurityGroups": { + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" }, "type": "array" }, - "SpotPrice": { + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { "type": "string" }, - "SubnetId": { + "PrivateIpAddress": { "type": "string" }, - "TagSpecifications": { + "PrivateIpAddresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" }, "type": "array" }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { + "SecondaryPrivateIpAddressCount": { "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + }, + "SubnetId": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "AWS::EC2::LaunchTemplate.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "ExcessCapacityTerminationPolicy": { + "AvailabilityZone": { "type": "string" }, - "IamFleetRole": { + "GroupName": { "type": "string" }, - "InstanceInterruptionBehavior": { + "HostId": { "type": "string" }, - "LaunchSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" - }, - "type": "array" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" - }, - "type": "array" - }, - "LoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" - }, - "ReplaceUnhealthyInstances": { - "type": "boolean" - }, - "SpotPrice": { + "HostResourceGroupArn": { "type": "string" }, - "TargetCapacity": { + "PartitionNumber": { "type": "number" }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { + "SpreadDomain": { "type": "string" }, - "ValidUntil": { + "Tenancy": { "type": "string" } }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { - "ResourceType": { - "type": "string" + "Primary": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "PrivateIpAddress": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotPlacement": { + "AWS::EC2::LaunchTemplate.SpotOptions": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { "type": "string" }, - "GroupName": { + "MaxPrice": { "type": "string" }, - "Tenancy": { + "SpotInstanceType": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { + }, + "ValidUntil": { "type": "string" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "AWS::EC2::LaunchTemplate.TagSpecification": { "additionalProperties": false, "properties": { - "TargetGroups": { + "ResourceType": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + "$ref": "#/definitions/Tag" }, "type": "array" } }, - "required": [ - "TargetGroups" - ], "type": "object" }, - "AWS::EC2::Subnet": { + "AWS::EC2::LocalGatewayRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28786,43 +31098,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { + "DestinationCidrBlock": { "type": "string" }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { + "LocalGatewayRouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { + "LocalGatewayVirtualInterfaceGroupId": { "type": "string" } }, "required": [ - "CidrBlock", - "VpcId" + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Subnet" + "AWS::EC2::LocalGatewayRoute" ], "type": "string" }, @@ -28841,7 +31136,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetCidrBlock": { + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28873,22 +31168,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Ipv6CidrBlock": { + "LocalGatewayRouteTableId": { "type": "string" }, - "SubnetId": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "Ipv6CidrBlock", - "SubnetId" + "LocalGatewayRouteTableId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" }, @@ -28907,7 +31208,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetNetworkAclAssociation": { + "AWS::EC2::NatGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28939,22 +31240,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "AllocationId": { "type": "string" }, "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "NetworkAclId", + "AllocationId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::NatGateway" ], "type": "string" }, @@ -28973,7 +31280,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::NetworkAcl": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29005,22 +31312,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "SubnetId": { + "VpcId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::NetworkAcl" ], "type": "string" }, @@ -29039,7 +31348,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilter": { + "AWS::EC2::NetworkAclEntry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29071,27 +31380,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CidrBlock": { "type": "string" }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" + "Egress": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" } }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::EC2::NetworkAclEntry" ], "type": "string" }, @@ -29105,11 +31432,36 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule": { + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29141,50 +31493,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "TrafficDirection": { + "NetworkInsightsPathId": { "type": "string" }, - "TrafficMirrorFilterId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" + "NetworkInsightsPathId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::EC2::NetworkInsightsAnalysis" ], "type": "string" }, @@ -29203,112 +31535,391 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "ComponentArn": { + "type": "string" }, - "ToPort": { - "type": "number" + "ComponentId": { + "type": "string" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorSession": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Cidr": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Egress": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorTarget": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29340,13 +31951,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Destination": { "type": "string" }, - "NetworkInterfaceId": { + "DestinationIp": { "type": "string" }, - "NetworkLoadBalancerArn": { + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { "type": "string" }, "Tags": { @@ -29356,11 +31976,16 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "Destination", + "Protocol", + "Source" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::EC2::NetworkInsightsPath" ], "type": "string" }, @@ -29374,11 +31999,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGateway": { + "AWS::EC2::NetworkInterface": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29410,25 +32036,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "AutoAcceptSharedAttachments": { + "Description": { "type": "string" }, - "DefaultRouteTableAssociation": { - "type": "string" + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" }, - "DefaultRouteTablePropagation": { + "InterfaceType": { "type": "string" }, - "Description": { - "type": "string" + "Ipv6AddressCount": { + "type": "number" }, - "DnsSupport": { + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { "type": "string" }, - "MulticastSupport": { + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { "type": "string" }, "Tags": { @@ -29436,16 +32080,16 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpnEcmpSupport": { - "type": "string" } }, + "required": [ + "SubnetId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGateway" + "AWS::EC2::NetworkInterface" ], "type": "string" }, @@ -29459,11 +32103,40 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment": { + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29495,35 +32168,29 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeleteOnTermination": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "DeviceIndex": { + "type": "string" }, - "TransitGatewayId": { + "InstanceId": { "type": "string" }, - "VpcId": { + "NetworkInterfaceId": { "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" }, @@ -29542,7 +32209,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::TransitGatewayRoute": { + "AWS::EC2::NetworkInterfacePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29574,27 +32241,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { + "AwsAccountId": { "type": "string" }, - "TransitGatewayAttachmentId": { + "NetworkInterfaceId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Permission": { "type": "string" } }, "required": [ - "TransitGatewayRouteTableId" + "AwsAccountId", + "NetworkInterfaceId", + "Permission" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::EC2::NetworkInterfacePermission" ], "type": "string" }, @@ -29613,7 +32279,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTable": { + "AWS::EC2::PlacementGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29645,24 +32311,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { + "Strategy": { "type": "string" } }, - "required": [ - "TransitGatewayId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::EC2::PlacementGroup" ], "type": "string" }, @@ -29676,12 +32333,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::PrefixList": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29713,22 +32369,38 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "AddressFamily": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" + "AddressFamily", + "MaxEntries", + "PrefixListName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::EC2::PrefixList" ], "type": "string" }, @@ -29747,7 +32419,22 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29779,167 +32466,54 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "CarrierGatewayId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "DestinationCidrBlock": { "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "DestinationIpv6CidrBlock": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { + "EgressOnlyInternetGatewayId": { "type": "string" }, - "EnableDnsHostnames": { - "type": "boolean" + "GatewayId": { + "type": "string" }, - "EnableDnsSupport": { - "type": "boolean" + "InstanceId": { + "type": "string" }, - "InstanceTenancy": { + "LocalGatewayId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "NatGatewayId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" + "NetworkInterfaceId": { + "type": "string" }, - "CidrBlock": { + "RouteTableId": { "type": "string" }, - "VpcId": { + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { "type": "string" } }, "required": [ - "VpcId" + "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::EC2::Route" ], "type": "string" }, @@ -29958,7 +32532,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCDHCPOptionsAssociation": { + "AWS::EC2::RouteTable": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29990,22 +32564,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DhcpOptionsId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "VpcId": { "type": "string" } }, "required": [ - "DhcpOptionsId", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::EC2::RouteTable" ], "type": "string" }, @@ -30024,7 +32600,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCEndpoint": { + "AWS::EC2::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30056,49 +32632,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "GroupDescription": { + "type": "string" }, - "PrivateDnsEnabled": { - "type": "boolean" + "GroupName": { + "type": "string" }, - "RouteTableIds": { + "SecurityGroupEgress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" }, "type": "array" }, - "SecurityGroupIds": { + "SecurityGroupIngress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" }, "type": "array" }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcEndpointType": { - "type": "string" - }, "VpcId": { "type": "string" } }, "required": [ - "ServiceName", - "VpcId" + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::EC2::SecurityGroup" ], "type": "string" }, @@ -30117,214 +32686,79 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCEndpointConnectionNotification": { + "AWS::EC2::SecurityGroup.Egress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" + "DestinationPrefixListId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], + "DestinationSecurityGroupId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FromPort": { + "type": "number" + }, + "IpProtocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCEndpointService": { + "AWS::EC2::SecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" + "FromPort": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], + "IpProtocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePrefixListId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" + "SourceSecurityGroupId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], + "SourceSecurityGroupName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::SecurityGroupEgress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30356,24 +32790,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayId": { + "CidrIp": { "type": "string" }, - "VpcId": { + "CidrIpv6": { "type": "string" }, - "VpnGatewayId": { + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "VpcId" + "GroupId", + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::EC2::SecurityGroupEgress" ], "type": "string" }, @@ -30392,7 +32845,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPCPeeringConnection": { + "AWS::EC2::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30424,37 +32877,51 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PeerOwnerId": { + "CidrIp": { "type": "string" }, - "PeerRegion": { + "CidrIpv6": { "type": "string" }, - "PeerRoleArn": { + "Description": { "type": "string" }, - "PeerVpcId": { + "FromPort": { + "type": "number" + }, + "GroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "GroupName": { + "type": "string" }, - "VpcId": { + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "PeerVpcId", - "VpcId" + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::EC2::SecurityGroupIngress" ], "type": "string" }, @@ -30473,7 +32940,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNConnection": { + "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30505,43 +32972,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" } }, "required": [ - "CustomerGatewayId", - "Type" + "SpotFleetRequestConfigData" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnection" + "AWS::EC2::SpotFleet" ], "type": "string" }, @@ -30560,19 +33002,477 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "AWS::EC2::SpotFleet.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "PreSharedKey": { + "DeviceName": { "type": "string" }, - "TunnelInsideCidr": { + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { "type": "string" } }, + "required": [ + "DeviceName" + ], "type": "object" }, - "AWS::EC2::VPNConnectionRoute": { + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" + }, + "type": "array" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + }, + "type": "array" + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30604,22 +33504,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "VpnConnectionId": { + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "DestinationCidrBlock", - "VpnConnectionId" + "CidrBlock", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::EC2::Subnet" ], "type": "string" }, @@ -30638,7 +33559,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNGateway": { + "AWS::EC2::SubnetCidrBlock": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30670,27 +33591,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Ipv6CidrBlock": { + "type": "string" }, - "Type": { + "SubnetId": { "type": "string" } }, "required": [ - "Type" + "Ipv6CidrBlock", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGateway" + "AWS::EC2::SubnetCidrBlock" ], "type": "string" }, @@ -30709,7 +33625,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VPNGatewayRoutePropagation": { + "AWS::EC2::SubnetNetworkAclAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30741,25 +33657,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" + "NetworkAclId": { + "type": "string" }, - "VpnGatewayId": { + "SubnetId": { "type": "string" } }, "required": [ - "RouteTableIds", - "VpnGatewayId" + "NetworkAclId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" }, @@ -30778,7 +33691,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::Volume": { + "AWS::EC2::SubnetRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30810,51 +33723,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { + "RouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeType": { + "SubnetId": { "type": "string" } }, "required": [ - "AvailabilityZone" + "RouteTableId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Volume" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" }, @@ -30873,7 +33757,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::VolumeAttachment": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30905,26 +33789,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Device": { + "Description": { "type": "string" }, - "InstanceId": { - "type": "string" + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" }, - "VolumeId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VolumeAttachment" + "AWS::EC2::TrafficMirrorFilter" ], "type": "string" }, @@ -30938,12 +33823,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::EC2::TrafficMirrorFilterRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30975,33 +33859,50 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { - "type": "object" + "Description": { + "type": "string" }, - "ImageTagMutability": { + "DestinationCidrBlock": { "type": "string" }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, - "RepositoryName": { + "Protocol": { + "type": "number" + }, + "RuleAction": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" + "RuleNumber": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" } }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" }, @@ -31015,23 +33916,28 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { - "LifecyclePolicyText": { - "type": "string" + "FromPort": { + "type": "number" }, - "RegistryId": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::ECS::CapacityProvider": { + "AWS::EC2::TrafficMirrorSession": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31063,27 +33969,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + "Description": { + "type": "string" }, - "Name": { + "NetworkInterfaceId": { "type": "string" }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" } }, "required": [ - "AutoScalingGroupProvider" + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::EC2::TrafficMirrorSession" ], "type": "string" }, @@ -31102,43 +34026,77 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::EC2::TrafficMirrorTarget": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumScalingStepSize": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "Status": { + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], "type": "string" }, - "TargetCapacity": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::Cluster": { + "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31170,39 +34128,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" + "AmazonSideAsn": { + "type": "number" }, - "ClusterName": { + "AutoAcceptSharedAttachments": { "type": "string" }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" + "DefaultRouteTableAssociation": { + "type": "string" }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" + "DefaultRouteTablePropagation": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DnsSupport": { + "type": "string" + }, + "MulticastSupport": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpnEcmpSupport": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Cluster" + "AWS::EC2::TransitGateway" ], "type": "string" }, @@ -31220,34 +34181,7 @@ var SamSchema = `{ ], "type": "object" }, - "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": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::EC2::TransitGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31279,26 +34213,35 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Service": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { "type": "string" }, - "TaskSetId": { + "VpcId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskSetId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::EC2::TransitGatewayAttachment" ], "type": "string" }, @@ -31317,7 +34260,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ECS::Service": { + "AWS::EC2::TransitGatewayConnect": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31349,77 +34292,8 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" }, "Tags": { "items": { @@ -31427,15 +34301,19 @@ var SamSchema = `{ }, "type": "array" }, - "TaskDefinition": { + "TransportTransitGatewayAttachmentId": { "type": "string" } }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::EC2::TransitGatewayConnect" ], "type": "string" }, @@ -31449,143 +34327,507 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.AwsVpcConfiguration": { + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { "additionalProperties": false, "properties": { - "AssignPublicIp": { + "Protocol": { "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { + "AWS::EC2::TransitGatewayMulticastDomain": { "additionalProperties": false, "properties": { - "Base": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CapacityProvider": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], "type": "string" }, - "Weight": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { "additionalProperties": false, "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.LoadBalancer": { + "AWS::EC2::TransitGatewayMulticastGroupMember": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LoadBalancerName": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], "type": "string" }, - "TargetGroupArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.NetworkConfiguration": { + "AWS::EC2::TransitGatewayMulticastGroupSource": { "additionalProperties": false, "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.PlacementConstraint": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { - "Expression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.PlacementStrategy": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { - "Field": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.ServiceRegistry": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Port": { - "type": "number" + "Metadata": { + "type": "object" }, - "RegistryArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition": { + "AWS::EC2::TransitGatewayRouteTablePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31617,75 +34859,99 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { + "TransitGatewayAttachmentId": { "type": "string" }, - "ExecutionRoleArn": { + "TransitGatewayRouteTableId": { "type": "string" - }, - "Family": { + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "InferenceAccelerators": { + { "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" - }, - "IpcMode": { + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { "type": "string" }, - "Memory": { - "type": "string" + "EnableDnsHostnames": { + "type": "boolean" }, - "NetworkMode": { - "type": "string" + "EnableDnsSupport": { + "type": "boolean" }, - "PidMode": { + "InstanceTenancy": { "type": "string" }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" } }, + "required": [ + "CidrBlock" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskDefinition" + "AWS::EC2::VPC" ], "type": "string" }, @@ -31699,657 +34965,452 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "AWS::EC2::VPCCidrBlock": { "additionalProperties": false, "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" }, "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { + "Type": { + "enum": [ + "AWS::EC2::VPCCidrBlock" + ], "type": "string" }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.ContainerDependency": { + "AWS::EC2::VPCDHCPOptionsAssociation": { "additionalProperties": false, "properties": { - "Condition": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HostPath": { - "type": "string" + "Metadata": { + "type": "object" }, - "Permissions": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } }, - "type": "array" + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "AWS::EC2::VPCEndpoint": { "additionalProperties": false, "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, + ] + }, + "Metadata": { "type": "object" }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "ServiceName", + "VpcId" + ], "type": "object" }, - "Scope": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "AWS::EC2::VPCEndpointConnectionNotification": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "FilesystemId": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" }, - "RootDirectory": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], "type": "string" }, - "TransitEncryption": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" } }, "required": [ - "FilesystemId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { + "AWS::EC2::VPCEndpointService": { "additionalProperties": false, "properties": { - "Type": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.HealthCheck": { + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" + "Metadata": { + "type": "object" }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { "type": "string" } }, + "required": [ + "ServiceId" + ], "type": "object" }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32381,53 +35442,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { + "InternetGatewayId": { "type": "string" }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { + "VpcId": { "type": "string" }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { + "VpnGatewayId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskDefinition" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskSet" + "AWS::EC2::VPCGatewayAttachment" ], "type": "string" }, @@ -32446,88 +35478,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { + "AWS::EC2::VPCPeeringConnection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32559,33 +35510,37 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" + "PeerOwnerId": { + "type": "string" }, - "ClientToken": { + "PeerRegion": { "type": "string" }, - "FileSystemId": { + "PeerRoleArn": { "type": "string" }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + "PeerVpcId": { + "type": "string" }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" } }, "required": [ - "FileSystemId" + "PeerVpcId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::AccessPoint" + "AWS::EC2::VPCPeeringConnection" ], "type": "string" }, @@ -32604,81 +35559,15 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EFS::AccessPoint.AccessPointTag": { + "AWS::EC2::VPNConnection": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "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": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -32702,45 +35591,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + "CustomerGatewayId": { + "type": "string" }, - "Encrypted": { + "StaticRoutesOnly": { "type": "boolean" }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KmsKeyId": { + "TransitGatewayId": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "Type": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { + "VpnGatewayId": { "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" } }, + "required": [ + "CustomerGatewayId", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EC2::VPNConnection" ], "type": "string" }, @@ -32754,51 +35641,24 @@ var SamSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { "additionalProperties": false, "properties": { - "Key": { + "PreSharedKey": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { + "TunnelInsideCidr": { "type": "string" } }, - "required": [ - "TransitionToIA" - ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32830,32 +35690,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { + "DestinationCidrBlock": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { + "VpnConnectionId": { "type": "string" } }, "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" + "DestinationCidrBlock", + "VpnConnectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::MountTarget" + "AWS::EC2::VPNConnectionRoute" ], "type": "string" }, @@ -32874,7 +35724,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EC2::VPNGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32906,37 +35756,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfig": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, "required": [ - "ResourcesVpcConfig", - "RoleArn" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Cluster" + "AWS::EC2::VPNGateway" ], "type": "string" }, @@ -32955,61 +35795,7 @@ 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.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { + "AWS::EC2::VPNGatewayRoutePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33041,44 +35827,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { + "RouteTableIds": { "items": { "type": "string" }, "type": "array" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "VpnGatewayId": { + "type": "string" } }, "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" + "RouteTableIds", + "VpnGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::FargateProfile" + "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" }, @@ -33097,41 +35864,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { + "AWS::EC2::Volume": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33163,68 +35896,54 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AmiType": { - "type": "string" + "AutoEnableIO": { + "type": "boolean" }, - "ClusterName": { + "AvailabilityZone": { "type": "string" }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { + "Encrypted": { "type": "boolean" }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + "Iops": { + "type": "number" }, - "NodeRole": { + "KmsKeyId": { "type": "string" }, - "NodegroupName": { - "type": "string" + "MultiAttachEnabled": { + "type": "boolean" }, - "ReleaseVersion": { + "OutpostArn": { "type": "string" }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + "Size": { + "type": "number" }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + "SnapshotId": { + "type": "string" }, - "Subnets": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "type": "object" + "Throughput": { + "type": "number" }, - "Version": { + "VolumeType": { "type": "string" } }, "required": [ - "ClusterName", - "NodeRole", - "Subnets" + "AvailabilityZone" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Nodegroup" + "AWS::EC2::Volume" ], "type": "string" }, @@ -33243,55 +35962,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { + "AWS::EC2::VolumeAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33323,99 +35994,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { + "Device": { "type": "string" }, - "SecurityConfiguration": { + "InstanceId": { "type": "string" }, - "ServiceRole": { + "VolumeId": { "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" } }, "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" + "Device", + "InstanceId", + "VolumeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Cluster" + "AWS::EC2::VolumeAttachment" ], "type": "string" }, @@ -33434,412 +36032,542 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EMR::Cluster.Application": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "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" }, - "Args": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "Name": { - "type": "string" + "type": "object" }, - "Version": { + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, "required": [ - "Name", - "ScriptBootstrapAction" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { - "ComparisonOperator": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Namespace": { - "type": "string" + "Metadata": { + "type": "object" }, - "Period": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" }, - "Statistic": { + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], "type": "string" }, - "Threshold": { - "type": "number" - }, - "Unit": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.ComputeLimits": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { - "MaximumCapacityUnits": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MaximumCoreCapacityUnits": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaximumOnDemandCapacityUnits": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumCapacityUnits": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" }, - "UnitType": { + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.Configuration": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { + "Rules": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" }, "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + "Region": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "RegistryId": { + "type": "string" } }, "required": [ - "VolumeSpecification" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::EMR::Cluster.EbsConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { + "Destinations": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" }, "type": "array" - }, - "EbsOptimized": { - "type": "boolean" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { + "AWS::ECR::Repository": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "type": "object" }, - "Jar": { + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], "type": "string" }, - "MainClass": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" } }, "required": [ - "Jar" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceFleetConfig": { + "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { + "LifecyclePolicyText": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + "RegistryId": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::Cluster.InstanceGroupConfig": { + "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InstanceCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "InstanceType": { - "type": "string" + "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" }, - "Market": { + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], "type": "string" }, - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceCount", - "InstanceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceTypeConfig": { + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { "additionalProperties": false, "properties": { - "BidPrice": { + "AutoScalingGroupArn": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" }, - "InstanceType": { + "ManagedTerminationProtection": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "required": [ - "InstanceType" + "AutoScalingGroupArn" ], "type": "object" }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "AWS::ECS::CapacityProvider.ManagedScaling": { "additionalProperties": false, "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + "MaximumScalingStepSize": { + "type": "number" }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + "MinimumScalingStepSize": { + "type": "number" }, - "Ec2KeyName": { + "Status": { "type": "string" }, - "Ec2SubnetId": { + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmrManagedMasterSecurityGroup": { - "type": "string" - }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" - }, - "HadoopVersion": { - "type": "string" - }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + "Metadata": { + "type": "object" }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "ServiceAccessSecurityGroup": { + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], "type": "string" }, - "TerminationProtected": { - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EMR::Cluster.KerberosAttributes": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" + "Base": { + "type": "number" }, - "KdcAdminPassword": { + "CapacityProvider": { "type": "string" }, - "Realm": { - "type": "string" + "Weight": { + "type": "number" } }, - "required": [ - "KdcAdminPassword", - "Realm" - ], "type": "object" }, - "AWS::EMR::Cluster.KeyValue": { + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, "Value": { @@ -33848,218 +36576,364 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "AWS::ECS::Service": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AllocationStrategy" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.PlacementType": { + "AWS::ECS::Service.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AssignPublicIp": { "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AvailabilityZone" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingAction": { + "AWS::ECS::Service.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "Market": { + "Base": { + "type": "number" + }, + "CapacityProvider": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + "Weight": { + "type": "number" } }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingConstraints": { + "AWS::ECS::Service.DeploymentCircuitBreaker": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "type": "number" + "Enable": { + "type": "boolean" }, - "MinCapacity": { - "type": "number" + "Rollback": { + "type": "boolean" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "Enable", + "Rollback" ], "type": "object" }, - "AWS::EMR::Cluster.ScalingRule": { + "AWS::ECS::Service.DeploymentConfiguration": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" }, - "Name": { - "type": "string" + "MaximumPercent": { + "type": "number" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + "MinimumHealthyPercent": { + "type": "number" } }, - "required": [ - "Action", - "Name", - "Trigger" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingTrigger": { + "AWS::ECS::Service.DeploymentController": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + "Type": { + "type": "string" } }, - "required": [ - "CloudWatchAlarmDefinition" - ], "type": "object" }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "AWS::ECS::Service.LoadBalancer": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "ContainerName": { + "type": "string" }, - "Path": { + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { "type": "string" } }, - "required": [ - "Path" - ], "type": "object" }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "AWS::ECS::Service.NetworkConfiguration": { "additionalProperties": false, "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" } }, - "required": [ - "ScalingAdjustment" - ], "type": "object" }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "AWS::ECS::Service.PlacementConstraint": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Expression": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "Type": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.StepConfig": { + "AWS::ECS::Service.PlacementStrategy": { "additionalProperties": false, "properties": { - "ActionOnFailure": { + "Field": { "type": "string" }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { + "Type": { "type": "string" } }, "required": [ - "HadoopJarStep", - "Name" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.VolumeSpecification": { + "AWS::ECS::Service.ServiceRegistry": { "additionalProperties": false, "properties": { - "Iops": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { "type": "number" }, - "SizeInGB": { + "Port": { "type": "number" }, - "VolumeType": { + "RegistryArn": { "type": "string" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig": { + "AWS::ECS::TaskDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34091,65 +36965,138 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ClusterId": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { "type": "string" }, - "InstanceFleetType": { + "ExecutionRoleArn": { "type": "string" }, - "InstanceTypeConfigs": { + "Family": { + "type": "string" + }, + "InferenceAccelerators": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" }, "type": "array" }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + "IpcMode": { + "type": "string" }, - "Name": { + "Memory": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" + "NetworkMode": { + "type": "string" }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.Configuration": { + "AWS::ECS::TaskDefinition.AuthorizationConfig": { "additionalProperties": false, "properties": { - "Classification": { + "AccessPointId": { "type": "string" }, - "ConfigurationProperties": { + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34158,303 +37105,247 @@ var SamSchema = `{ }, "type": "object" }, - "Configurations": { + "DockerSecurityOptions": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { + "EntryPoint": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + "type": "string" }, "type": "array" }, - "EbsOptimized": { + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" + "Image": { + "type": "string" }, - "Configurations": { + "Interactive": { + "type": "boolean" + }, + "Links": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" }, - "InstanceType": { + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "WeightedCapacity": { + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { "type": "string" } }, - "required": [ - "AllocationStrategy" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "AWS::ECS::TaskDefinition.ContainerDependency": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Condition": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "ContainerName": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Device": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" + "ContainerPath": { + "type": "string" }, - "VolumeType": { + "HostPath": { "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig": { + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Autoprovision": { + "type": "boolean" + }, + "Driver": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" + "AuthorizationConfig": { + "type": "object" }, - "MetricName": { + "FilesystemId": { "type": "string" }, - "Namespace": { + "RootDirectory": { "type": "string" }, - "Period": { - "type": "number" - }, - "Statistic": { + "TransitEncryption": { "type": "string" }, - "Threshold": { + "TransitEncryptionPort": { "type": "number" - }, - "Unit": { - "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "FilesystemId" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { + "AWS::ECS::TaskDefinition.EnvironmentFile": { "additionalProperties": false, "properties": { - "Classification": { + "Type": { "type": "string" }, - "ConfigurationProperties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34463,165 +37354,350 @@ var SamSchema = `{ }, "type": "object" }, - "Configurations": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + "type": "string" }, "type": "array" + }, + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { + "type": "number" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "AWS::ECS::TaskDefinition.HostEntry": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + "Hostname": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "IpAddress": { + "type": "string" } }, - "required": [ - "VolumeSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "AWS::ECS::TaskDefinition.HostVolumeProperties": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + "type": "string" }, "type": "array" }, - "EbsOptimized": { - "type": "boolean" + "Drop": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "AWS::ECS::TaskDefinition.KeyValuePair": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, "Value": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "AWS::ECS::TaskDefinition.LinuxParameters": { "additionalProperties": false, "properties": { - "Market": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" } }, "required": [ - "SimpleScalingPolicyConfiguration" + "LogDriver" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "AWS::ECS::TaskDefinition.MountPoint": { "additionalProperties": false, "properties": { - "MaxCapacity": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { "type": "number" }, - "MinCapacity": { + "HostPort": { "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "ContainerName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "AWS::ECS::TaskDefinition.RepositoryCredentials": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { "Name": { "type": "string" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + "ValueFrom": { + "type": "string" } }, "required": [ - "Action", "Name", - "Trigger" + "ValueFrom" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "AWS::ECS::TaskDefinition.SystemControl": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "CloudWatchAlarmDefinition" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "AWS::ECS::TaskDefinition.Tmpfs": { "additionalProperties": false, "properties": { - "AdjustmentType": { + "ContainerPath": { "type": "string" }, - "CoolDown": { - "type": "number" + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScalingAdjustment": { + "Size": { "type": "number" } }, "required": [ - "ScalingAdjustment" + "Size" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Ulimit": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { + "HardLimit": { "type": "number" }, - "VolumeType": { + "Name": { "type": "string" + }, + "SoftLimit": { + "type": "number" } }, "required": [ - "SizeInGB", - "VolumeType" + "HardLimit", + "Name", + "SoftLimit" ], "type": "object" }, - "AWS::EMR::SecurityConfiguration": { + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34653,21 +37729,53 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "Cluster": { "type": "string" }, - "SecurityConfiguration": { - "type": "object" + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" } }, "required": [ - "SecurityConfiguration" + "Cluster", + "Service", + "TaskDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::SecurityConfiguration" + "AWS::ECS::TaskSet" ], "type": "string" }, @@ -34686,7 +37794,88 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EMR::Step": { + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34718,30 +37907,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" }, - "JobFlowId": { + "ClientToken": { "type": "string" }, - "Name": { + "FileSystemId": { "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" + "FileSystemId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Step" + "AWS::EFS::AccessPoint" ], "type": "string" }, @@ -34760,46 +37952,73 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EMR::Step.HadoopJarStepConfig": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "Key": { + "type": "string" }, - "Jar": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { "type": "string" }, - "MainClass": { + "OwnerUid": { "type": "string" }, - "StepProperties": { + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + "type": "string" }, "type": "array" + }, + "Uid": { + "type": "string" } }, "required": [ - "Jar" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EMR::Step.KeyValue": { + "AWS::EFS::AccessPoint.RootDirectory": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" }, - "Value": { + "Path": { "type": "string" } }, "type": "object" }, - "AWS::ElastiCache::CacheCluster": { + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34831,95 +38050,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, - "AutoMinorVersionUpgrade": { + "Encrypted": { "type": "boolean" }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" + "FileSystemPolicy": { + "type": "object" }, - "CacheSecurityGroupNames": { + "FileSystemTags": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" }, "type": "array" }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { + "KmsKeyId": { "type": "string" }, - "EngineVersion": { - "type": "string" + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" }, - "NotificationTopicArn": { + "PerformanceMode": { "type": "string" }, - "NumCacheNodes": { + "ProvisionedThroughputInMibps": { "type": "number" }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "ThroughputMode": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::EFS::FileSystem" ], "type": "string" }, @@ -34933,12 +38102,51 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElastiCache::ParameterGroup": { + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "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": { @@ -34970,31 +38178,32 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheParameterGroupFamily": { + "FileSystemId": { "type": "string" }, - "Description": { + "IpAddress": { "type": "string" }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "SecurityGroups": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" + }, + "SubnetId": { + "type": "string" } }, "required": [ - "CacheParameterGroupFamily", - "Description" + "FileSystemId", + "SecurityGroups", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::EFS::MountTarget" ], "type": "string" }, @@ -35013,7 +38222,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup": { + "AWS::EKS::Addon": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35045,109 +38254,19 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { + "AddonName": { "type": "string" }, - "ReplicationGroupId": { + "AddonVersion": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { + "ClusterName": { "type": "string" }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "ResolveConflicts": { "type": "string" }, - "SnapshottingClusterId": { + "ServiceAccountRoleArn": { "type": "string" }, "Tags": { @@ -35155,19 +38274,17 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" } }, "required": [ - "ReplicationGroupDescription" + "AddonName", + "ClusterName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::EKS::Addon" ], "type": "string" }, @@ -35186,31 +38303,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { + "AWS::EKS::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35242,18 +38335,37 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { "type": "string" } }, "required": [ - "Description" + "ResourcesVpcConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::EKS::Cluster" ], "type": "string" }, @@ -35272,7 +38384,61 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::SecurityGroupIngress": { + "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.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35304,25 +38470,44 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "ClusterName": { "type": "string" }, - "EC2SecurityGroupName": { + "FargateProfileName": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "PodExecutionRoleArn": { "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "ClusterName", + "PodExecutionRoleArn", + "Selectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::EKS::FargateProfile" ], "type": "string" }, @@ -35341,7 +38526,41 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElastiCache::SubnetGroup": { + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35373,28 +38592,71 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheSubnetGroupName": { + "AmiType": { "type": "string" }, - "Description": { + "CapacityType": { "type": "string" }, - "SubnetIds": { + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { "items": { "type": "string" }, "type": "array" + }, + "Tags": { + "type": "object" + }, + "Version": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "ClusterName", + "NodeRole", + "Subnets" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::EKS::Nodegroup" ], "type": "string" }, @@ -35413,7 +38675,55 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application": { + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35445,21 +38755,99 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "AdditionalInfo": { + "type": "object" }, - "Description": { + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { "type": "string" }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" - } - }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::EMR::Cluster" ], "type": "string" }, @@ -35473,712 +38861,637 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "AWS::EMR::Cluster.Application": { "additionalProperties": false, "properties": { - "ServiceRole": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + "Version": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "AWS::EMR::Cluster.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" } }, + "required": [ + "Constraints", + "Rules" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "AWS::EMR::Cluster.BootstrapActionConfig": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "MaxAgeInDays": { - "type": "number" + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" + "ComparisonOperator": { + "type": "string" }, - "Enabled": { - "type": "boolean" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" }, - "MaxCount": { + "EvaluationPeriods": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MetricName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Namespace": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" + "Period": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], + "Statistic": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "AWS::EMR::Cluster.ComputeLimits": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" + "MaximumCapacityUnits": { + "type": "number" }, - "S3Key": { + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { "type": "string" } }, "required": [ - "S3Bucket", - "S3Key" + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Classification": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, - "required": [ - "ApplicationName" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" }, - "Value": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "Namespace", - "OptionName" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "AWS::EMR::Cluster.EbsConfiguration": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" }, - "TemplateName": { - "type": "string" + "EbsOptimized": { + "type": "boolean" } }, - "required": [ - "ApplicationName", - "TemplateName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment": { + "AWS::EMR::Cluster.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } + "Args": { + "items": { + "type": "string" }, - "required": [ - "ApplicationName" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], + "Jar": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MainClass": { "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Jar" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "AWS::EMR::Cluster.InstanceFleetConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" }, - "OptionName": { - "type": "string" + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" }, - "ResourceName": { + "Name": { "type": "string" }, - "Value": { - "type": "string" + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" } }, - "required": [ - "Namespace", - "OptionName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.Tier": { + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" }, - "Version": { - "type": "string" + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer": { + "AWS::EMR::Cluster.InstanceGroupConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" + "InstanceCount": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], + "InstanceType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceCount", + "InstanceType" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "AWS::EMR::Cluster.InstanceTypeConfig": { "additionalProperties": false, "properties": { - "EmitInterval": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { "type": "number" }, - "Enabled": { + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { "type": "boolean" }, - "S3BucketName": { + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { "type": "string" }, - "S3BucketPrefix": { + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { "type": "string" } }, "required": [ - "Enabled", - "S3BucketName" + "KdcAdminPassword", + "Realm" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "AWS::EMR::Cluster.KeyValue": { "additionalProperties": false, "properties": { - "CookieName": { + "Key": { "type": "string" }, - "PolicyName": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "CookieName", - "PolicyName" + "Key", + "Value" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" + "AllocationStrategy": { + "type": "string" } }, "required": [ - "Enabled" + "AllocationStrategy" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { - "IdleTimeout": { - "type": "number" + "AvailabilityZone": { + "type": "string" } }, "required": [ - "IdleTimeout" + "AvailabilityZone" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "AWS::EMR::Cluster.ScalingAction": { "additionalProperties": false, "properties": { - "HealthyThreshold": { + "Market": { "type": "string" }, - "Interval": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Target": { - "type": "string" + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" }, - "Timeout": { + "Description": { "type": "string" }, - "UnhealthyThreshold": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" } }, "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "AWS::EMR::Cluster.ScalingTrigger": { "additionalProperties": false, "properties": { - "CookieExpirationPeriod": { - "type": "string" + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" }, - "PolicyName": { + "Path": { "type": "string" } }, + "required": [ + "Path" + ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { "additionalProperties": false, "properties": { - "InstancePort": { + "AdjustmentType": { "type": "string" }, - "InstanceProtocol": { - "type": "string" + "CoolDown": { + "type": "number" }, - "LoadBalancerPort": { + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" + "BlockDurationMinutes": { + "type": "number" }, - "Protocol": { + "TimeoutAction": { "type": "string" }, - "SSLCertificateId": { - "type": "string" + "TimeoutDurationMinutes": { + "type": "number" } }, "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" + "TimeoutAction", + "TimeoutDurationMinutes" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "AWS::EMR::Cluster.StepConfig": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" }, - "PolicyName": { + "Name": { "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" }, - "PolicyType": { + "SizeInGB": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "required": [ - "Attributes", - "PolicyName", - "PolicyType" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener": { + "AWS::EMR::InstanceFleetConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36210,46 +39523,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" + "ClusterId": { + "type": "string" }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" + "InstanceFleetType": { + "type": "string" }, - "DefaultActions": { + "InstanceTypeConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" }, "type": "array" }, - "LoadBalancerArn": { + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { "type": "string" }, - "Port": { + "TargetOnDemandCapacity": { "type": "number" }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" + "TargetSpotCapacity": { + "type": "number" } }, "required": [ - "DefaultActions", - "LoadBalancerArn" + "ClusterId", + "InstanceFleetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::EMR::InstanceFleetConfig" ], "type": "string" }, @@ -36268,227 +39575,485 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { + "AWS::EMR::InstanceFleetConfig.Configuration": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + "Classification": { + "type": "string" }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "TargetGroupArn": { - "type": "string" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "Type": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "Type" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" }, - "type": "object" + "type": "array" }, - "OnUnauthenticatedRequest": { + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { "type": "string" }, - "Scope": { + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { "type": "string" }, - "SessionCookieName": { + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" }, - "SessionTimeout": { + "BlockDurationMinutes": { "type": "number" }, - "UserPoolArn": { + "TimeoutAction": { "type": "string" }, - "UserPoolClientId": { - "type": "string" + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" }, - "UserPoolDomain": { + "SizeInGB": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "AWS::EMR::InstanceGroupConfig": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "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": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], "type": "object" }, - "AuthorizationEndpoint": { + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], "type": "string" }, - "ClientId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" }, - "ClientSecret": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { "type": "string" }, - "Issuer": { - "type": "string" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" }, - "OnUnauthenticatedRequest": { - "type": "string" + "EvaluationPeriods": { + "type": "number" }, - "Scope": { + "MetricName": { "type": "string" }, - "SessionCookieName": { + "Namespace": { "type": "string" }, - "SessionTimeout": { + "Period": { "type": "number" }, - "TokenEndpoint": { + "Statistic": { "type": "string" }, - "UserInfoEndpoint": { + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "AWS::EMR::InstanceGroupConfig.Configuration": { "additionalProperties": false, "properties": { - "CertificateArn": { + "Classification": { "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" }, - "StatusCode": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "StatusCode" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { "additionalProperties": false, "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { + "EbsBlockDeviceConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" }, "type": "array" + }, + "EbsOptimized": { + "type": "boolean" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "AWS::EMR::InstanceGroupConfig.MetricDimension": { "additionalProperties": false, "properties": { - "Host": { + "Key": { "type": "string" }, - "Path": { + "Value": { "type": "string" - }, - "Port": { + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { "type": "string" }, - "Protocol": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Query": { + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { "type": "string" }, - "StatusCode": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" } }, "required": [ - "StatusCode" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { "additionalProperties": false, "properties": { - "DurationSeconds": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { "type": "number" }, - "Enabled": { - "type": "boolean" + "ScalingAdjustment": { + "type": "number" } }, + "required": [ + "ScalingAdjustment" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { "additionalProperties": false, "properties": { - "TargetGroupArn": { - "type": "string" + "Iops": { + "type": "number" }, - "Weight": { + "SizeInGB": { "type": "number" + }, + "VolumeType": { + "type": "string" } }, + "required": [ + "SizeInGB", + "VolumeType" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "AWS::EMR::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36520,25 +40085,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { + "Name": { "type": "string" + }, + "SecurityConfiguration": { + "type": "object" } }, "required": [ - "Certificates", - "ListenerArn" + "SecurityConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::EMR::SecurityConfiguration" ], "type": "string" }, @@ -36557,16 +40118,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { + "AWS::EMR::Step": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36598,36 +40150,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" }, - "ListenerArn": { + "JobFlowId": { "type": "string" }, - "Priority": { - "type": "number" + "Name": { + "type": "string" } }, "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::EMR::Step" ], "type": "string" }, @@ -36646,338 +40192,46 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "AWS::EMR::Step.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + "Args": { + "items": { + "type": "string" + }, + "type": "array" }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { + "Jar": { "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { + "MainClass": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { + "StepProperties": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" }, "type": "array" } }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, "required": [ - "StatusCode" + "Jar" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "AWS::EMR::Step.KeyValue": { "additionalProperties": false, "properties": { - "Field": { + "Key": { "type": "string" }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { + "Value": { "type": "string" - }, - "Weight": { - "type": "number" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "AWS::EMR::Studio": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37009,34 +40263,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "IpAddressType": { + "AuthMode": { "type": "string" }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" + "DefaultS3Location": { + "type": "string" }, - "Name": { + "Description": { "type": "string" }, - "Scheme": { + "EngineSecurityGroupId": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" + "ServiceRole": { + "type": "string" }, - "Subnets": { + "SubnetIds": { "items": { "type": "string" }, @@ -37048,15 +40293,32 @@ var SamSchema = `{ }, "type": "array" }, - "Type": { + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { "type": "string" } }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::EMR::Studio" ], "type": "string" }, @@ -37070,44 +40332,86 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "AWS::EMR::StudioSessionMapping": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IPv6Address": { - "type": "string" + "Metadata": { + "type": "object" }, - "PrivateIPv4Address": { + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], "type": "string" }, - "SubnetId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { + "AWS::EMRContainers::VirtualCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37139,72 +40443,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" }, "Name": { "type": "string" }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" } }, + "required": [ + "ContainerProvider", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::EMRContainers::VirtualCluster" ], "type": "string" }, @@ -37218,50 +40478,56 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { "additionalProperties": false, "properties": { - "HttpCode": { - "type": "string" + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" } }, + "required": [ + "EksInfo" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, "Id": { "type": "string" }, - "Port": { - "type": "number" + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" } }, "required": [ - "Id" + "Id", + "Info", + "Type" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::EMRContainers::VirtualCluster.EksInfo": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { + "Namespace": { "type": "string" } }, + "required": [ + "Namespace" + ], "type": "object" }, - "AWS::Elasticsearch::Domain": { + "AWS::ElastiCache::CacheCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37293,56 +40559,71 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessPolicies": { - "type": "object" + "AZMode": { + "type": "string" }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + "CacheSubnetGroupName": { + "type": "string" }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + "ClusterName": { + "type": "string" }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + "Engine": { + "type": "string" }, - "DomainName": { + "EngineVersion": { "type": "string" }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + "NotificationTopicArn": { + "type": "string" }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + "NumCacheNodes": { + "type": "number" }, - "ElasticsearchVersion": { + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { "type": "string" }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + "SnapshotName": { + "type": "string" }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" }, "Tags": { "items": { @@ -37350,15 +40631,23 @@ var SamSchema = `{ }, "type": "array" }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::ElastiCache::CacheCluster" ], "type": "string" }, @@ -37372,176 +40661,143 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { + "AWS::ElastiCache::GlobalReplicationGroup": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "EnforceHTTPS": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" + "Metadata": { + "type": "object" }, - "Iops": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" }, - "VolumeSize": { - "type": "number" + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" }, - "VolumeType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { "additionalProperties": false, "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { + "ReplicationGroupId": { "type": "string" }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { + "ReplicationGroupRegion": { "type": "string" }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { + "Role": { "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { "additionalProperties": false, "properties": { - "MasterUserARN": { + "ReplicationGroupId": { "type": "string" }, - "MasterUserName": { + "ReplicationGroupRegion": { "type": "string" }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.VPCOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "NodeGroupId": { + "type": "string" }, - "SubnetIds": { + "PreferredAvailabilityZones": { "items": { "type": "string" }, @@ -37550,16 +40806,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { + "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37591,27 +40838,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CacheParameterGroupFamily": { "type": "string" }, - "SourceArn": { + "Description": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "SourceArn" + "CacheParameterGroupFamily", + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Discoverer" + "AWS::ElastiCache::ParameterGroup" ], "type": "string" }, @@ -37630,23 +40881,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { + "AWS::ElastiCache::ReplicationGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37678,24 +40913,135 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { "type": "string" }, - "RegistryName": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" }, "type": "array" } }, + "required": [ + "ReplicationGroupDescription" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Registry" + "AWS::ElastiCache::ReplicationGroup" ], "type": "string" }, @@ -37709,27 +41055,36 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EventSchemas::Registry.TagsEntry": { + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "NodeGroupId": { "type": "string" }, - "Value": { + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EventSchemas::RegistryPolicy": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37761,25 +41116,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { + "Description": { "type": "string" } }, "required": [ - "Policy", - "RegistryName" + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::RegistryPolicy" + "AWS::ElastiCache::SecurityGroup" ], "type": "string" }, @@ -37798,7 +41146,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EventSchemas::Schema": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37830,38 +41178,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Content": { + "CacheSecurityGroupName": { "type": "string" }, - "Description": { + "EC2SecurityGroupName": { "type": "string" }, - "RegistryName": { - "type": "string" - }, - "SchemaName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { + "EC2SecurityGroupOwnerId": { "type": "string" } }, "required": [ - "Content", - "RegistryName", - "Type" + "CacheSecurityGroupName", + "EC2SecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Schema" + "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" }, @@ -37880,23 +41215,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::EventBus": { + "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37928,21 +41247,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EventSourceName": { + "CacheSubnetGroupName": { "type": "string" }, - "Name": { + "Description": { "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBus" + "AWS::ElastiCache::SubnetGroup" ], "type": "string" }, @@ -37961,7 +41287,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Events::EventBusPolicy": { + "AWS::ElastiCache::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37993,32 +41319,38 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "AccessString": { "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { + "Engine": { "type": "string" }, - "Principal": { + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { "type": "string" }, - "StatementId": { + "UserName": { "type": "string" } }, "required": [ - "Action", - "Principal", - "StatementId" + "Engine", + "UserId", + "UserName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::ElastiCache::User" ], "type": "string" }, @@ -38037,22 +41369,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { + "AWS::ElastiCache::UserGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38084,39 +41401,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { + "Engine": { "type": "string" }, - "State": { + "UserGroupId": { "type": "string" }, - "Targets": { + "UserIds": { "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" + "type": "string" }, "type": "array" } }, + "required": [ + "Engine", + "UserGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::ElastiCache::UserGroup" ], "type": "string" }, @@ -38130,324 +41436,130 @@ var SamSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { + "AWS::ElasticBeanstalk::Application": { "additionalProperties": false, "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "type": "object" + ] }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + }, + "Description": { "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" } }, "type": "object" }, - "InputTemplate": { + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PartitionKeyPath" + "Type" ], "type": "object" }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { "additionalProperties": false, "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { + "ServiceRole": { "type": "string" }, - "WithEvent": { - "type": "boolean" + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" } }, - "required": [ - "Database", - "Sql" - ], "type": "object" }, - "AWS::Events::Rule.RetryPolicy": { + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { "additionalProperties": false, "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" } }, - "required": [ - "RunCommandTargets" - ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" } }, - "required": [ - "MessageGroupId" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::ElasticBeanstalk::Application.MaxCountRule": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + "Enabled": { + "type": "boolean" }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + "MaxCount": { + "type": "number" } }, - "required": [ - "Arn", - "Id" - ], "type": "object" }, - "AWS::FMS::NotificationChannel": { + "AWS::ElasticBeanstalk::ApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38479,22 +41591,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SnsRoleName": { + "ApplicationName": { "type": "string" }, - "SnsTopicArn": { + "Description": { "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" } }, "required": [ - "SnsRoleName", - "SnsTopicArn" + "ApplicationName", + "SourceBundle" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::NotificationChannel" + "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" }, @@ -38513,7 +41628,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::FMS::Policy": { + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38545,61 +41676,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + "ApplicationName": { + "type": "string" }, - "PolicyName": { + "Description": { "type": "string" }, - "RemediationEnabled": { - "type": "boolean" + "EnvironmentId": { + "type": "string" }, - "ResourceTags": { + "OptionSettings": { "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" }, "type": "array" }, - "ResourceType": { + "PlatformArn": { "type": "string" }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" + "SolutionStackName": { + "type": "string" }, - "SecurityServicePolicyData": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::Policy" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" }, @@ -38618,28 +41727,16 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::FMS::Policy.IEMap": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { "additionalProperties": false, "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" + "Namespace": { + "type": "string" }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { + "OptionName": { + "type": "string" + }, + "ResourceName": { "type": "string" }, "Value": { @@ -38647,27 +41744,28 @@ var SamSchema = `{ } }, "required": [ - "Key", - "Value" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::FMS::Policy.ResourceTag": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "ApplicationName": { "type": "string" }, - "Value": { + "TemplateName": { "type": "string" } }, "required": [ - "Key" + "ApplicationName", + "TemplateName" ], "type": "object" }, - "AWS::FSx::FileSystem": { + "AWS::ElasticBeanstalk::Environment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38699,35 +41797,29 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BackupId": { + "ApplicationName": { "type": "string" }, - "FileSystemType": { + "CNAMEPrefix": { "type": "string" }, - "KmsKeyId": { + "Description": { "type": "string" }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + "EnvironmentName": { + "type": "string" }, - "SecurityGroupIds": { + "OptionSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" }, "type": "array" }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { + "PlatformArn": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "SolutionStackName": { + "type": "string" }, "Tags": { "items": { @@ -38735,19 +41827,24 @@ var SamSchema = `{ }, "type": "array" }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" } }, "required": [ - "FileSystemType", - "SubnetIds" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FSx::FileSystem" + "AWS::ElasticBeanstalk::Environment" ], "type": "string" }, @@ -38766,106 +41863,44 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "AWS::ElasticBeanstalk::Environment.OptionSetting": { "additionalProperties": false, "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { + "Namespace": { "type": "string" }, - "OrganizationalUnitDistinguishedName": { + "OptionName": { "type": "string" }, - "Password": { + "ResourceName": { "type": "string" }, - "UserName": { + "Value": { "type": "string" } }, + "required": [ + "Namespace", + "OptionName" + ], "type": "object" }, - "AWS::FSx::FileSystem.WindowsConfiguration": { + "AWS::ElasticBeanstalk::Environment.Tier": { "additionalProperties": false, "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { + "Name": { "type": "string" }, - "PreferredSubnetId": { + "Type": { "type": "string" }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { + "Version": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::Alias": { + "AWS::ElasticLoadBalancing::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38897,25 +41932,90 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { "type": "string" }, - "Name": { + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { "type": "string" }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "RoutingStrategy" + "Listeners" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Alias" + "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" }, @@ -38934,112 +42034,179 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GameLift::Alias.RoutingStrategy": { + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { "additionalProperties": false, "properties": { - "FleetId": { - "type": "string" + "EmitInterval": { + "type": "number" }, - "Message": { + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { "type": "string" }, - "Type": { + "S3BucketPrefix": { "type": "string" } }, + "required": [ + "Enabled", + "S3BucketName" + ], "type": "object" }, - "AWS::GameLift::Build": { + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CookieName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" + "Interval": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], + "Target": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { "type": "string" } }, "required": [ - "Type" + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" ], "type": "object" }, - "AWS::GameLift::Build.S3Location": { + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "Bucket": { + "CookieExpirationPeriod": { "type": "string" }, - "Key": { + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { "type": "string" }, - "ObjectVersion": { + "InstanceProtocol": { "type": "string" }, - "RoleArn": { + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "InstancePort", + "LoadBalancerPort", + "Protocol" ], "type": "object" }, - "AWS::GameLift::Fleet": { + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39071,88 +42238,46 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { + "AlpnPolicy": { "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + "type": "string" }, "type": "array" }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "LogPaths": { + "Certificates": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" }, "type": "array" }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { + "DefaultActions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" }, "type": "array" }, - "MinSize": { - "type": "number" - }, - "Name": { + "LoadBalancerArn": { "type": "string" }, - "NewGameSessionProtectionPolicy": { - "type": "string" + "Port": { + "type": "number" }, - "PeerVpcAwsAccountId": { + "Protocol": { "type": "string" }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" - }, - "ServerLaunchParameters": { - "type": "string" - }, - "ServerLaunchPath": { + "SslPolicy": { "type": "string" } }, "required": [ - "EC2InstanceType", - "Name" + "DefaultActions", + "LoadBalancerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Fleet" + "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" }, @@ -39171,283 +42296,227 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { + "AWS::ElasticLoadBalancingV2::Listener.Action": { "additionalProperties": false, "properties": { - "FromPort": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { "type": "number" }, - "IpRange": { - "type": "string" + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" }, - "Protocol": { + "TargetGroupArn": { "type": "string" }, - "ToPort": { - "type": "number" + "Type": { + "type": "string" } }, "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" + "Type" ], "type": "object" }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "NewGameSessionsPerCreator": { - "type": "number" + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" + "OnUnauthenticatedRequest": { + "type": "string" }, - "MaxConcurrentGameSessionActivations": { - "type": "number" + "Scope": { + "type": "string" }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" + "SessionCookieName": { + "type": "string" }, - "LaunchPath": { + "SessionTimeout": { "type": "string" }, - "Parameters": { + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { "type": "string" } }, "required": [ - "ConcurrentExecutions", - "LaunchPath" + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" ], "type": "object" }, - "AWS::GameLift::GameServerGroup": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinitions" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.Tags" - }, - "VpcSubnets": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.VpcSubnets" } }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { "additionalProperties": false, "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + "CertificateArn": { + "type": "string" } }, - "required": [ - "TargetTrackingConfiguration" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { "additionalProperties": false, "properties": { - "InstanceType": { + "ContentType": { "type": "string" }, - "WeightedCapacity": { + "MessageBody": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "InstanceType" + "StatusCode" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinitions": { + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { "additionalProperties": false, "properties": { - "InstanceDefinitions": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" }, "type": "array" } }, "type": "object" }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { + "Host": { "type": "string" }, - "LaunchTemplateName": { + "Path": { "type": "string" }, - "Version": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, + "required": [ + "StatusCode" + ], "type": "object" }, - "AWS::GameLift::GameServerGroup.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { "additionalProperties": false, "properties": { - "TargetValue": { + "DurationSeconds": { "type": "number" + }, + "Enabled": { + "type": "boolean" } }, - "required": [ - "TargetValue" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.VpcSubnets": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { "additionalProperties": false, "properties": { - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39479,33 +42548,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "Certificates": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" }, "type": "array" }, - "Name": { + "ListenerArn": { "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "TimeoutInSeconds": { - "type": "number" } }, "required": [ - "Name" + "Certificates", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::GameSessionQueue" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" }, @@ -39524,28 +42585,16 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { "additionalProperties": false, "properties": { - "DestinationArn": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { + "AWS::ElasticLoadBalancingV2::ListenerRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39577,66 +42626,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { + "Actions": { "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" }, "type": "array" }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" }, "type": "array" }, - "Name": { - "type": "string" - }, - "NotificationTarget": { + "ListenerArn": { "type": "string" }, - "RequestTimeoutSeconds": { + "Priority": { "type": "number" - }, - "RuleSetName": { - "type": "string" } }, "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" + "Actions", + "Conditions", + "ListenerArn", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::MatchmakingConfiguration" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" }, @@ -39655,180 +42674,341 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { "additionalProperties": false, "properties": { - "Key": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { "type": "string" }, - "Value": { + "Type": { "type": "string" } }, "required": [ - "Key", - "Value" + "Type" ], "type": "object" }, - "AWS::GameLift::MatchmakingRuleSet": { + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "RuleSetBody": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "Name", - "RuleSetBody" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], + "OnUnauthenticatedRequest": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { "type": "string" } }, "required": [ - "Type", - "Properties" + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" ], "type": "object" }, - "AWS::GameLift::Script": { + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "StorageLocation" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::Script.S3Location": { + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { "type": "string" }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { "Key": { "type": "string" }, - "ObjectVersion": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { "type": "string" }, - "RoleArn": { + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "StatusCode" ], "type": "object" }, - "AWS::GlobalAccelerator::Accelerator": { + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39860,36 +43040,54 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, "IpAddressType": { "type": "string" }, - "IpAddresses": { + "LoadBalancerAttributes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" }, "type": "array" }, "Name": { "type": "string" }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Accelerator" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" }, @@ -39903,12 +43101,44 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup": { + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39940,14 +43170,8 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" + "HealthCheckEnabled": { + "type": "boolean" }, "HealthCheckIntervalSeconds": { "type": "number" @@ -39956,36 +43180,65 @@ var SamSchema = `{ "type": "string" }, "HealthCheckPort": { - "type": "number" + "type": "string" }, "HealthCheckProtocol": { "type": "string" }, - "ListenerArn": { + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { "type": "string" }, - "PortOverrides": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "ThresholdCount": { - "type": "number" + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" }, - "TrafficDialPercentage": { + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { "type": "number" + }, + "VpcId": { + "type": "string" } }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" }, @@ -39999,46 +43252,53 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { "additionalProperties": false, "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" + "GrpcCode": { + "type": "string" }, - "EndpointId": { + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { "type": "string" }, - "Weight": { + "Id": { + "type": "string" + }, + "Port": { "type": "number" } }, "required": [ - "EndpointId" + "Id" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { "additionalProperties": false, "properties": { - "EndpointPort": { - "type": "number" + "Key": { + "type": "string" }, - "ListenerPort": { - "type": "number" + "Value": { + "type": "string" } }, - "required": [ - "EndpointPort", - "ListenerPort" - ], "type": "object" }, - "AWS::GlobalAccelerator::Listener": { + "AWS::Elasticsearch::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40070,32 +43330,72 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorArn": { - "type": "string" + "AccessPolicies": { + "type": "object" }, - "ClientAffinity": { + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { "type": "string" }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" - }, - "type": "array" + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" }, - "Protocol": { + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Listener" + "AWS::Elasticsearch::Domain" ], "type": "string" }, @@ -40109,181 +43409,203 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::Listener.PortRange": { + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ToPort": { - "type": "number" + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Enabled": { + "type": "boolean" }, - "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" + "IdentityPoolId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], + "RoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "UserPoolId": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Glue::Classifier.CsvClassifier": { + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { + "CustomEndpoint": { "type": "string" }, - "Delimiter": { + "CustomEndpointCertificateArn": { "type": "string" }, - "DisableValueTrimming": { + "CustomEndpointEnabled": { "type": "boolean" }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" + "EnforceHTTPS": { + "type": "boolean" }, - "Name": { + "TLSSecurityPolicy": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" }, - "QuoteSymbol": { + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Classifier.GrokClassifier": { + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { - "Classification": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { "type": "string" }, - "CustomPatterns": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "GrokPattern": { + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { "type": "string" }, - "Name": { + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { "type": "string" } }, - "required": [ - "Classification", - "GrokPattern" - ], "type": "object" }, - "AWS::Glue::Classifier.JsonClassifier": { + "AWS::Elasticsearch::Domain.LogPublishingOption": { "additionalProperties": false, "properties": { - "JsonPath": { + "CloudWatchLogsLogGroupArn": { "type": "string" }, - "Name": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "JsonPath" - ], "type": "object" }, - "AWS::Glue::Classifier.XMLClassifier": { + "AWS::Elasticsearch::Domain.MasterUserOptions": { "additionalProperties": false, "properties": { - "Classification": { + "MasterUserARN": { "type": "string" }, - "Name": { + "MasterUserName": { "type": "string" }, - "RowTag": { + "MasterUserPassword": { "type": "string" } }, - "required": [ - "Classification", - "RowTag" - ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40315,22 +43637,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" } }, "required": [ - "CatalogId", - "ConnectionInput" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::EventSchemas::Discoverer" ], "type": "string" }, @@ -40349,56 +43676,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::EventSchemas::Discoverer.TagsEntry": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { + "Key": { "type": "string" }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { + "Value": { "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "Key", + "Value" ], "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::EventSchemas::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40430,55 +43724,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, "Description": { "type": "string" }, - "Name": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { + "RegistryName": { "type": "string" }, "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" } }, - "required": [ - "Role", - "Targets" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Crawler" + "AWS::EventSchemas::Registry" ], "type": "string" }, @@ -40492,120 +43755,27 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { + "AWS::EventSchemas::Registry.TagsEntry": { "additionalProperties": false, "properties": { - "DeleteBehavior": { + "Key": { "type": "string" }, - "UpdateBehavior": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { + "AWS::EventSchemas::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40637,22 +43807,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Policy": { + "type": "object" + }, + "RegistryName": { "type": "string" }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + "RevisionId": { + "type": "string" } }, "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" + "Policy", + "RegistryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" + "AWS::EventSchemas::RegistryPolicy" ], "type": "string" }, @@ -40671,51 +43844,15 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { + "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -40739,22 +43876,38 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Content": { "type": "string" }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "CatalogId", - "DatabaseInput" + "Content", + "RegistryName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Database" + "AWS::EventSchemas::Schema" ], "type": "string" }, @@ -40773,25 +43926,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Database.DatabaseInput": { + "AWS::EventSchemas::Schema.TagsEntry": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "LocationUri": { + "Key": { "type": "string" }, - "Name": { + "Value": { "type": "string" - }, - "Parameters": { - "type": "object" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::DevEndpoint": { + "AWS::Events::ApiDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40823,66 +43974,109 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { + "ConnectionArn": { "type": "string" }, - "ExtraJarsS3Path": { + "Description": { "type": "string" }, - "ExtraPythonLibsS3Path": { + "HttpMethod": { "type": "string" }, - "GlueVersion": { + "InvocationEndpoint": { "type": "string" }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { + "InvocationRateLimitPerSecond": { "type": "number" }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { + "Name": { "type": "string" - }, - "SecurityConfiguration": { + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "SecurityGroupIds": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" }, - "SubnetId": { + "Description": { "type": "string" }, - "Tags": { + "EventPattern": { "type": "object" }, - "WorkerType": { + "RetentionDays": { + "type": "number" + }, + "SourceArn": { "type": "string" } }, "required": [ - "RoleArn" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DevEndpoint" + "AWS::Events::Archive" ], "type": "string" }, @@ -40901,7 +44095,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Job": { + "AWS::Events::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40933,70 +44127,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { + "AuthParameters": { "type": "object" }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { + "AuthorizationType": { "type": "string" }, - "LogUri": { + "Description": { "type": "string" }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, "Name": { "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" } }, "required": [ - "Command", - "Role" + "AuthParameters", + "AuthorizationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Job" + "AWS::Events::Connection" ], "type": "string" }, @@ -41015,52 +44167,72 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { + "AWS::Events::EventBus": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PythonVersion": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], "type": "string" }, - "ScriptLocation": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { + "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41092,53 +44264,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { + "Action": { "type": "string" }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, - "Name": { + "EventBusName": { "type": "string" }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { + "Principal": { "type": "string" }, - "Tags": { + "Statement": { "type": "object" }, - "Timeout": { - "type": "number" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { + "StatementId": { "type": "string" } }, "required": [ - "InputRecordTables", - "Role", - "TransformParameters" + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::MLTransform" + "AWS::Events::EventBusPolicy" ], "type": "string" }, @@ -41157,77 +44309,22 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { + "AWS::Events::EventBusPolicy.Condition": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { + "Key": { "type": "string" }, - "TableName": { + "Type": { "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" }, - "TransformType": { + "Value": { "type": "string" } }, - "required": [ - "TransformType" - ], "type": "object" }, - "AWS::Glue::Partition": { + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41259,30 +44356,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "DatabaseName": { + "EventBusName": { "type": "string" }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + "EventPattern": { + "type": "object" }, - "TableName": { + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" } }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Partition" + "AWS::Events::Rule" ], "type": "string" }, @@ -41296,153 +44402,324 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Partition.Column": { + "AWS::Events::Rule.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "Comment": { + "AssignPublicIp": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Subnets" ], "type": "object" }, - "AWS::Glue::Partition.Order": { + "AWS::Events::Rule.BatchArrayProperties": { "additionalProperties": false, "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { + "Size": { "type": "number" } }, - "required": [ - "Column" - ], "type": "object" }, - "AWS::Glue::Partition.PartitionInput": { + "AWS::Events::Rule.BatchParameters": { "additionalProperties": false, "properties": { - "Parameters": { - "type": "object" + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + "JobDefinition": { + "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" } }, "required": [ - "Values" + "JobDefinition", + "JobName" ], "type": "object" }, - "AWS::Glue::Partition.SerdeInfo": { + "AWS::Events::Rule.BatchRetryStrategy": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" + "Attempts": { + "type": "number" } }, "type": "object" }, - "AWS::Glue::Partition.SkewedInfo": { + "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { + "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "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" }, - "SkewedColumnValueLocationMaps": { + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, - "SkewedColumnValues": { + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" }, "type": "array" } }, + "required": [ + "RunCommandTargets" + ], "type": "object" }, - "AWS::Glue::Partition.StorageDescriptor": { + "AWS::Events::Rule.RunCommandTarget": { "additionalProperties": false, "properties": { - "BucketColumns": { + "Key": { + "type": "string" + }, + "Values": { "items": { "type": "string" }, "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, - "Compressed": { - "type": "boolean" + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" }, - "InputFormat": { - "type": "string" + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, - "Location": { + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" + "Input": { + "type": "string" }, - "OutputFormat": { + "InputPath": { "type": "string" }, - "Parameters": { - "type": "object" + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" }, - "StoredAsSubDirectories": { - "type": "boolean" + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } }, + "required": [ + "Arn", + "Id" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration": { + "AWS::FMS::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41474,22 +44751,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + "SnsRoleName": { + "type": "string" }, - "Name": { + "SnsTopicArn": { "type": "string" } }, "required": [ - "EncryptionConfiguration", - "Name" + "SnsRoleName", + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::SecurityConfiguration" + "AWS::FMS::NotificationChannel" ], "type": "string" }, @@ -41508,63 +44785,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" - }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { - "additionalProperties": false, - "properties": { - "JobBookmarksEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "S3EncryptionMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { + "AWS::FMS::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41596,26 +44817,61 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { "type": "string" }, - "DatabaseName": { + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { "type": "string" }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" } }, "required": [ - "CatalogId", - "DatabaseName", - "TableInput" + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Table" + "AWS::FMS::Policy" ], "type": "string" }, @@ -41634,68 +44890,16 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Table.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SkewedInfo": { + "AWS::FMS::Policy.IEMap": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "ACCOUNT": { "items": { "type": "string" }, "type": "array" }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { + "ORGUNIT": { "items": { "type": "string" }, @@ -41704,97 +44908,38 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Glue::Table.StorageDescriptor": { + "AWS::FMS::Policy.PolicyTag": { "additionalProperties": false, "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { + "Key": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { + "Value": { "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::Table.TableInput": { + "AWS::FMS::Policy.ResourceTag": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Retention": { - "type": "number" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" - }, - "TableType": { - "type": "string" - }, - "ViewExpandedText": { + "Key": { "type": "string" }, - "ViewOriginalText": { + "Value": { "type": "string" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::Glue::Trigger": { + "AWS::FSx::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41826,46 +44971,55 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" + "BackupId": { + "type": "string" }, - "Description": { + "FileSystemType": { "type": "string" }, - "Name": { + "KmsKeyId": { "type": "string" }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" }, - "Schedule": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { "type": "string" }, - "StartOnCreation": { - "type": "boolean" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { - "type": "object" - }, - "Type": { - "type": "string" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "WorkflowName": { - "type": "string" + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, "required": [ - "Actions", - "Type" + "FileSystemType", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Trigger" + "AWS::FSx::FileSystem" ], "type": "string" }, @@ -41884,76 +45038,115 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Glue::Trigger.Action": { + "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { - "Arguments": { - "type": "object" + "AutoImportPolicy": { + "type": "string" }, - "CrawlerName": { + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { "type": "string" }, - "JobName": { + "DeploymentType": { "type": "string" }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + "DriveCacheType": { + "type": "string" }, - "SecurityConfiguration": { + "ExportPath": { "type": "string" }, - "Timeout": { + "ImportPath": { + "type": "string" + }, + "ImportedFileChunkSize": { "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" } }, "type": "object" }, - "AWS::Glue::Trigger.Condition": { + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { "additionalProperties": false, "properties": { - "CrawlState": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { "type": "string" }, - "CrawlerName": { + "FileSystemAdministratorsGroup": { "type": "string" }, - "JobName": { + "OrganizationalUnitDistinguishedName": { "type": "string" }, - "LogicalOperator": { + "Password": { "type": "string" }, - "State": { + "UserName": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { + "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { - "Conditions": { + "ActiveDirectoryId": { + "type": "string" + }, + "Aliases": { "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + "type": "string" }, "type": "array" }, - "Logical": { + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { "type": "string" } }, + "required": [ + "ThroughputCapacity" + ], "type": "object" }, - "AWS::Glue::Workflow": { + "AWS::GameLift::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41985,24 +45178,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DefaultRunProperties": { - "type": "object" - }, "Description": { "type": "string" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" } }, + "required": [ + "Name", + "RoutingStrategy" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Workflow" + "AWS::GameLift::Alias" ], "type": "string" }, @@ -42016,11 +45210,27 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition": { + "AWS::GameLift::Alias.RoutingStrategy": { + "additionalProperties": false, + "properties": { + "FleetId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::Build": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42052,24 +45262,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" - }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "OperatingSystem": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinition" + "AWS::GameLift::Build" ], "type": "string" }, @@ -42083,46 +45293,34 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition.Connector": { + "AWS::GameLift::Build.S3Location": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "Bucket": { "type": "string" }, - "Id": { + "Key": { "type": "string" }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" - }, - "type": "array" + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" } }, "required": [ - "Connectors" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion": { + "AWS::GameLift::Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42154,25 +45352,88 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionId": { + "BuildId": { "type": "string" }, - "Connectors": { + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "LogPaths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" }, "type": "array" + }, + "MinSize": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + }, + "ServerLaunchParameters": { + "type": "string" + }, + "ServerLaunchPath": { + "type": "string" } }, "required": [ - "ConnectorDefinitionId", - "Connectors" + "EC2InstanceType", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" + "AWS::GameLift::Fleet" ], "type": "string" }, @@ -42191,26 +45452,92 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "AWS::GameLift::Fleet.CertificateConfiguration": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { "type": "string" }, - "Id": { + "Protocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "additionalProperties": false, + "properties": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { "type": "string" }, "Parameters": { - "type": "object" + "type": "string" } }, "required": [ - "ConnectorArn", - "Id" + "ConcurrentExecutions", + "LaunchPath" ], "type": "object" }, - "AWS::Greengrass::CoreDefinition": { + "AWS::GameLift::GameServerGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42242,24 +45569,63 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" }, - "Name": { + "BalancingStrategy": { + "type": "string" + }, + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinition" + "AWS::GameLift::GameServerGroup" ], "type": "string" }, @@ -42278,45 +45644,64 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.Core": { + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" + "EstimatedInstanceWarmup": { + "type": "number" }, - "Id": { + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { "type": "string" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "WeightedCapacity": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" + "InstanceType" ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "AWS::GameLift::GameServerGroup.LaunchTemplate": { "additionalProperties": false, "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" } }, "required": [ - "Cores" + "TargetValue" ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion": { + "AWS::GameLift::GameSessionQueue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42348,25 +45733,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CoreDefinitionId": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "Cores": { + "PlayerLatencyPolicies": { "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" }, "type": "array" + }, + "TimeoutInSeconds": { + "type": "number" } }, "required": [ - "CoreDefinitionId", - "Cores" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" + "AWS::GameLift::GameSessionQueue" ], "type": "string" }, @@ -42385,30 +45778,28 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { + "AWS::GameLift::GameSessionQueue.Destination": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { + "DestinationArn": { "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { + "additionalProperties": false, + "properties": { + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" + "PolicyDurationSeconds": { + "type": "number" } }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition": { + "AWS::GameLift::MatchmakingConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42440,24 +45831,66 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { + "type": "string" + }, + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { + "items": { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" + }, + "type": "array" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" } }, "required": [ - "Name" + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinition" + "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" }, @@ -42476,45 +45909,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition.Device": { + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { + "Key": { "type": "string" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "Value": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" + "Key", + "Value" ], "type": "object" }, - "AWS::Greengrass::DeviceDefinitionVersion": { + "AWS::GameLift::MatchmakingRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42546,25 +45957,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeviceDefinitionId": { + "Name": { "type": "string" }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" + "RuleSetBody": { + "type": "string" } }, "required": [ - "DeviceDefinitionId", - "Devices" + "Name", + "RuleSetBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" + "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" }, @@ -42583,30 +45991,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition": { + "AWS::GameLift::Script": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42638,24 +46023,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" - }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" } }, "required": [ - "Name" + "StorageLocation" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinition" + "AWS::GameLift::Script" ], "type": "string" }, @@ -42674,144 +46059,110 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { + "AWS::GameLift::Script.S3Location": { "additionalProperties": false, "properties": { - "IsolationMode": { + "Bucket": { "type": "string" }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { + "Key": { "type": "string" }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + "ObjectVersion": { + "type": "string" }, - "Id": { + "RoleArn": { "type": "string" } }, "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + "Metadata": { + "type": "object" }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Accelerator" + ], "type": "string" }, - "ResourceId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ResourceId" + "Type", + "Properties" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42843,28 +46194,52 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" }, - "FunctionDefinitionId": { + "EndpointGroupRegion": { "type": "string" }, - "Functions": { + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" }, "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "FunctionDefinitionId", - "Functions" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" + "AWS::GlobalAccelerator::EndpointGroup" ], "type": "string" }, @@ -42883,126 +46258,41 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "AccessSysfs": { + "ClientIPPreservationEnabled": { "type": "boolean" }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { + "EndpointId": { "type": "string" }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" + "Weight": { + "type": "number" } }, "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" + "EndpointId" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { "additionalProperties": false, "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { + "EndpointPort": { "type": "number" }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { + "ListenerPort": { "type": "number" } }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, "required": [ - "ResourceId" + "EndpointPort", + "ListenerPort" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { + "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43034,27 +46324,32 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { + "AcceleratorArn": { "type": "string" }, - "RoleArn": { + "ClientAffinity": { "type": "string" }, - "Tags": { - "type": "object" + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" } }, "required": [ - "Name" + "AcceleratorArn", + "PortRanges", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::Group" + "AWS::GlobalAccelerator::Listener" ], "type": "string" }, @@ -43073,34 +46368,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::Group.GroupVersion": { + "AWS::GlobalAccelerator::Listener.PortRange": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" + "FromPort": { + "type": "number" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::Greengrass::GroupVersion": { + "AWS::Glue::Classifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43132,39 +46416,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" }, - "LoggerDefinitionVersionArn": { - "type": "string" + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" }, - "ResourceDefinitionVersionArn": { - "type": "string" + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" } }, - "required": [ - "GroupId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::GroupVersion" + "AWS::Glue::Classifier" ], "type": "string" }, @@ -43178,122 +46447,97 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition": { + "AWS::Glue::Classifier.CsvClassifier": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Delimiter": { + "type": "string" }, - "Metadata": { - "type": "object" + "DisableValueTrimming": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } + "Header": { + "items": { + "type": "string" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "QuoteSymbol": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.Logger": { + "AWS::Glue::Classifier.GrokClassifier": { "additionalProperties": false, "properties": { - "Component": { + "Classification": { "type": "string" }, - "Id": { + "CustomPatterns": { "type": "string" }, - "Level": { + "GrokPattern": { "type": "string" }, - "Space": { - "type": "number" + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" }, - "Type": { + "Name": { "type": "string" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "JsonPath" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "AWS::Glue::Classifier.XMLClassifier": { "additionalProperties": false, "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" } }, "required": [ - "Loggers" + "Classification", + "RowTag" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion": { + "AWS::Glue::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43325,25 +46569,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LoggerDefinitionId": { + "CatalogId": { "type": "string" }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" } }, "required": [ - "LoggerDefinitionId", - "Loggers" + "CatalogId", + "ConnectionInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" + "AWS::Glue::Connection" ], "type": "string" }, @@ -43362,34 +46603,55 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "AWS::Glue::Connection.ConnectionInput": { "additionalProperties": false, "properties": { - "Component": { - "type": "string" + "ConnectionProperties": { + "type": "object" }, - "Id": { + "ConnectionType": { "type": "string" }, - "Level": { + "Description": { "type": "string" }, - "Space": { - "type": "number" + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { + "Name": { "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "ConnectionType" ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition": { + "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": { @@ -43421,24 +46683,55 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" }, "Name": { "type": "string" }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, "Tags": { "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" } }, "required": [ - "Name" + "Role", + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinition" + "AWS::Glue::Crawler" ], "type": "string" }, @@ -43457,184 +46750,118 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "AWS::Glue::Crawler.CatalogTarget": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "DatabaseName": { "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { - "DestinationPath": { + "ConnectionName": { "type": "string" }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "DestinationPath", - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + "ConnectionName": { + "type": "string" }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { + "Exclusions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + "type": "string" }, "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" }, - "GroupPermission": { + "Path": { "type": "string" } }, - "required": [ - "GroupOwner", - "GroupPermission" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "AWS::Glue::Crawler.Schedule": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Name": { + "ScheduleExpression": { "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" } }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "AWS::Glue::Crawler.SchemaChangePolicy": { "additionalProperties": false, "properties": { - "DestinationPath": { + "DeleteBehavior": { "type": "string" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { + "UpdateBehavior": { "type": "string" } }, - "required": [ - "DestinationPath", - "S3Uri" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "AWS::Glue::Crawler.Targets": { "additionalProperties": false, "properties": { - "DestinationPath": { - "type": "string" + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" }, - "AdditionalStagingLabelsToDownload": { + "S3Targets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" }, "type": "array" } }, - "required": [ - "ARN" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion": { + "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43666,25 +46893,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceDefinitionId": { + "CatalogId": { "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" } }, "required": [ - "ResourceDefinitionId", - "Resources" + "CatalogId", + "DataCatalogEncryptionSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" + "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" }, @@ -43703,169 +46927,43 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "KmsKeyId": { "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" }, - "SourcePath": { - "type": "string" + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { "additionalProperties": false, "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "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": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { + "CatalogEncryptionMode": { "type": "string" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { + "SseAwsKmsKeyId": { "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "ARN" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition": { + "AWS::Glue::Database": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43897,24 +46995,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { + "CatalogId": { "type": "string" }, - "Tags": { - "type": "object" + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" } }, "required": [ - "Name" + "CatalogId", + "DatabaseInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinition" + "AWS::Glue::Database" ], "type": "string" }, @@ -43933,46 +47029,40 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { + "CatalogId": { "type": "string" }, - "Target": { + "DatabaseName": { "type": "string" } }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" } }, - "required": [ - "Subscriptions" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { + "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44004,25 +47094,66 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "SubscriptionDefinitionId": { + "Arguments": { + "type": "object" + }, + "EndpointName": { "type": "string" }, - "Subscriptions": { + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" }, "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "SubscriptionDefinitionId", - "Subscriptions" + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" + "AWS::Glue::DevEndpoint" ], "type": "string" }, @@ -44041,31 +47172,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector": { + "AWS::Glue::Job": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44097,24 +47204,70 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + "AllocatedCapacity": { + "type": "number" }, - "Enable": { - "type": "boolean" + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" }, - "FindingPublishingFrequency": { + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { "type": "string" } }, "required": [ - "Enable" + "Command", + "Role" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Glue::Job" ], "type": "string" }, @@ -44133,25 +47286,52 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "AWS::Glue::Job.ConnectionsList": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + "Connections": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "AWS::Glue::Job.ExecutionProperty": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "MaxConcurrentRuns": { + "type": "number" } }, "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44183,38 +47363,56 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, "Description": { "type": "string" }, - "DetectorId": { + "GlueVersion": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" }, "Name": { "type": "string" }, - "Rank": { + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" + "InputRecordTables", + "Role", + "TransformParameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Glue::MLTransform" ], "type": "string" }, @@ -44233,46 +47431,104 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Glue::MLTransform.FindMatchesParameters": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { + "AccuracyCostTradeoff": { "type": "number" }, - "Lt": { - "type": "number" + "EnforceProvidedLabels": { + "type": "boolean" }, - "Lte": { + "PrecisionRecallTradeoff": { "type": "number" }, - "Neq": { + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" }, "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Filter.FindingCriteria": { + "AWS::Glue::MLTransform.MLUserDataEncryption": { "additionalProperties": false, "properties": { - "Criterion": { - "type": "object" + "KmsKeyId": { + "type": "string" }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + "MLUserDataEncryptionMode": { + "type": "string" } }, + "required": [ + "MLUserDataEncryptionMode" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44304,33 +47560,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { + "CatalogId": { "type": "string" }, - "Format": { + "DatabaseName": { "type": "string" }, - "Location": { - "type": "string" + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" }, - "Name": { + "TableName": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], + "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Glue::Partition" ], "type": "string" }, @@ -44349,155 +47602,181 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Glue::Partition.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], + "SchemaArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchemaName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchameVersionId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, - "Metadata": { + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], + "type": "array" + }, + "SkewedColumnValueLocationMaps": { "type": "object" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Location": { "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Glue::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44529,33 +47808,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { + "Description": { "type": "string" }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::Glue::Registry" ], "type": "string" }, @@ -44574,7 +47847,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::AccessKey": { + "AWS::Glue::Schema": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44606,24 +47879,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Serial": { - "type": "number" + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" }, - "Status": { + "Compatibility": { "type": "string" }, - "UserName": { + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "UserName" + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::AccessKey" + "AWS::Glue::Schema" ], "type": "string" }, @@ -44642,7 +47936,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::Group": { + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44674,30 +47992,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" }, - "Path": { + "SchemaDefinition": { "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" } }, + "required": [ + "Schema", + "SchemaDefinition" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Group" + "AWS::Glue::SchemaVersion" ], "type": "string" }, @@ -44711,27 +48021,27 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::Group.Policy": { + "AWS::Glue::SchemaVersion.Schema": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "RegistryName": { + "type": "string" }, - "PolicyName": { + "SchemaArn": { + "type": "string" + }, + "SchemaName": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::InstanceProfile": { + "AWS::Glue::SchemaVersionMetadata": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44763,27 +48073,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { + "Key": { "type": "string" }, - "Path": { + "SchemaVersionId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "Value": { + "type": "string" } }, "required": [ - "Roles" + "Key", + "SchemaVersionId", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::Glue::SchemaVersionMetadata" ], "type": "string" }, @@ -44802,7 +48111,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::Glue::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44834,45 +48143,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" }, - "Path": { + "Name": { "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "PolicyDocument" + "EncryptionConfiguration", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::Glue::SecurityConfiguration" ], "type": "string" }, @@ -44891,7 +48177,63 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44923,40 +48265,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "CatalogId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" } }, "required": [ - "PolicyDocument", - "PolicyName" + "CatalogId", + "DatabaseName", + "TableInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::Glue::Table" ], "type": "string" }, @@ -44975,24 +48303,235 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::Glue::Table.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchameVersionId": { + "type": "string" + }, + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { "items": { "pattern": "^[a-zA-Z0-9]+$", "type": "string" @@ -45007,51 +48546,46 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Trigger.Action" }, "type": "array" }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { + "Description": { "type": "string" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" }, - "RoleName": { + "Schedule": { "type": "string" }, + "StartOnCreation": { + "type": "boolean" + }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" + }, + "Type": { + "type": "string" + }, + "WorkflowName": { + "type": "string" } }, "required": [ - "AssumeRolePolicyDocument" + "Actions", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Role" + "AWS::Glue::Trigger" ], "type": "string" }, @@ -45070,23 +48604,76 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::Glue::Trigger.Action": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "Arguments": { "type": "object" }, - "PolicyName": { + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { "type": "string" + }, + "Timeout": { + "type": "number" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "CrawlState": { + "type": "string" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45118,24 +48705,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AWSServiceName": { - "type": "string" + "DefaultRunProperties": { + "type": "object" }, - "CustomSuffix": { + "Description": { "type": "string" }, - "Description": { + "Name": { "type": "string" + }, + "Tags": { + "type": "object" } }, - "required": [ - "AWSServiceName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::Glue::Workflow" ], "type": "string" }, @@ -45149,12 +48736,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IAM::User": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45186,48 +48772,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" }, @@ -45241,42 +48803,46 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::Greengrass::ConnectorDefinition.Connector": { "additionalProperties": false, "properties": { - "Password": { + "ConnectorArn": { "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" } }, "required": [ - "Password" + "ConnectorArn", + "Id" ], "type": "object" }, - "AWS::IAM::User.Policy": { + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" } }, "required": [ - "PolicyDocument", - "PolicyName" + "Connectors" ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45308,25 +48874,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "ConnectorDefinitionId": { "type": "string" }, - "Users": { + "Connectors": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" }, "type": "array" } }, "required": [ - "GroupName", - "Users" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" }, @@ -45345,7 +48911,26 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45377,30 +48962,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::Greengrass::CoreDefinition" ], "type": "string" }, @@ -45414,82 +48993,50 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::Greengrass::CoreDefinition.Core": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Id": { + "type": "string" }, - "Metadata": { - "type": "object" + "SyncShadow": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ThingArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "CertificateArn", + "Id", + "ThingArn" ], "type": "object" }, - "AWS::IVS::StreamKey": { + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45521,24 +49068,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ChannelArn": { + "CoreDefinitionId": { "type": "string" }, - "Tags": { + "Cores": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" }, "type": "array" } }, "required": [ - "ChannelArn" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::StreamKey" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" }, @@ -45557,107 +49105,30 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "CertificateArn", + "Id", + "ThingArn" ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45689,37 +49160,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" }, @@ -45738,28 +49196,45 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::Greengrass::DeviceDefinition.Device": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { - "type": "object" + "CertificateArn": { + "type": "string" }, - "LicenseConfigurationArns": { + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" }, "type": "array" - }, - "Region": { - "type": "string" } }, "required": [ - "Region" + "Devices" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::Greengrass::DeviceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45791,40 +49266,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { + "DeviceDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" }, - "type": "object" + "type": "array" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "DeviceDefinitionId", + "Devices" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" }, @@ -45843,19 +49303,30 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "AWS::Greengrass::DeviceDefinitionVersion.Device": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { "type": "boolean" }, - "TimeoutMinutes": { - "type": "number" + "ThingArn": { + "type": "string" } }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::Greengrass::FunctionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45887,53 +49358,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::Greengrass::FunctionDefinition" ], "type": "string" }, @@ -45952,31 +49394,144 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { "type": "boolean" }, - "TimeoutMinutes": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { "additionalProperties": false, "properties": { - "PipelineExecutionStartCondition": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { "type": "string" }, - "ScheduleExpression": { + "ResourceId": { "type": "string" } }, + "required": [ + "ResourceId" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46008,54 +49563,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" }, - "ParentImage": { + "FunctionDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" + "type": "array" } }, "required": [ - "Components", - "Name", - "ParentImage", - "Version" + "FunctionDefinitionId", + "Functions" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImageRecipe" + "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" }, @@ -46074,61 +49603,126 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { "additionalProperties": false, "properties": { - "ComponentArn": { - "type": "string" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" } }, + "required": [ + "Execution" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { + "AccessSysfs": { "type": "boolean" }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" }, - "VolumeSize": { - "type": "number" + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" }, - "VolumeType": { - "type": "string" + "Variables": { + "type": "object" } }, "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { "additionalProperties": false, "properties": { - "DeviceName": { + "IsolationMode": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" }, - "NoDevice": { + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { "type": "string" }, - "VirtualName": { + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46160,70 +49754,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { + "RoleArn": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::Greengrass::Group" ], "type": "string" }, @@ -46242,89 +49793,34 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::Greengrass::Group.GroupVersion": { "additionalProperties": false, "properties": { - "S3BucketName": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CoreDefinitionVersionArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeviceDefinitionVersionArn": { + "type": "string" }, - "Metadata": { - "type": "object" + "FunctionDefinitionVersionArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" + "LoggerDefinitionVersionArn": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], + "ResourceDefinitionVersionArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SubscriptionDefinitionVersionArn": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Inspector::AssessmentTemplate": { + "AWS::Greengrass::GroupVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46356,38 +49852,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssessmentTargetArn": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "AssessmentTemplateName": { + "CoreDefinitionVersionArn": { "type": "string" }, - "DurationInSeconds": { - "type": "number" + "DeviceDefinitionVersionArn": { + "type": "string" }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" + "FunctionDefinitionVersionArn": { + "type": "string" }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" } }, "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" + "GroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::AssessmentTemplate" + "AWS::Greengrass::GroupVersion" ], "type": "string" }, @@ -46406,7 +49903,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::Greengrass::LoggerDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46438,21 +49935,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ - "ResourceGroupTags" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::Greengrass::LoggerDefinition" ], "type": "string" }, @@ -46471,144 +49971,49 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::Greengrass::LoggerDefinition.Logger": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Component": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Id": { + "type": "string" }, - "Metadata": { - "type": "object" + "Level": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "DeviceId", - "Enabled" - ], - "type": "object" + "Space": { + "type": "number" }, "Type": { - "enum": [ - "AWS::IoT1Click::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Component", + "Id", + "Level", + "Type" ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type", - "Properties" + "Loggers" ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::Greengrass::LoggerDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46640,24 +50045,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LoggerDefinitionId": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" } }, "required": [ - "PlacementTemplate" + "LoggerDefinitionId", + "Loggers" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" }, @@ -46676,31 +50082,34 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "Component": { + "type": "string" }, - "DeviceType": { + "Id": { "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT1Click::Project.PlacementTemplate": { - "additionalProperties": false, - "properties": { - "DefaultAttributes": { - "type": "object" }, - "DeviceTemplates": { - "type": "object" + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" } }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], "type": "object" }, - "AWS::IoT::Authorizer": { + "AWS::Greengrass::ResourceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46732,36 +50141,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" }, - "Status": { + "Name": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::IoT::Authorizer.Tags" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "$ref": "#/definitions/AWS::IoT::Authorizer.TokenSigningPublicKeys" + "type": "object" } }, "required": [ - "AuthorizerFunctionArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Authorizer" + "AWS::Greengrass::ResourceDefinition" ], "type": "string" }, @@ -46780,163 +50177,184 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT::Authorizer.Tags": { + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" } }, + "required": [ + "AutoAddGroupOwner" + ], "type": "object" }, - "AWS::IoT::Authorizer.TokenSigningPublicKeys": { + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { "additionalProperties": false, - "properties": {}, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DestinationPath": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" }, - "Metadata": { - "type": "object" + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" }, - "Type": { - "enum": [ - "AWS::IoT::Certificate" - ], + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "GroupPermission": { "type": "string" } }, "required": [ - "Type", - "Properties" + "GroupOwner", + "GroupPermission" ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Id": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { - "type": "object" + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" }, - "Type": { - "enum": [ - "AWS::IoT::Policy" - ], + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DestinationPath", + "SageMakerJobArn" ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46968,22 +50386,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { + "ResourceDefinitionId": { "type": "string" }, - "Principal": { - "type": "string" + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" } }, "required": [ - "PolicyName", - "Principal" + "ResourceDefinitionId", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" }, @@ -47002,7 +50423,169 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate": { + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "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": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47034,37 +50617,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" }, - "ProvisioningRoleArn": { + "Name": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateName": { - "type": "string" + "type": "object" } }, "required": [ - "ProvisioningRoleArn", - "TemplateBody" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ProvisioningTemplate" + "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" }, @@ -47083,31 +50653,46 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "AWS::Greengrass::SubscriptionDefinition.Subscription": { "additionalProperties": false, "properties": { - "PayloadVersion": { + "Id": { "type": "string" }, - "TargetArn": { + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { "type": "string" } }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate.Tags": { + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { "additionalProperties": false, "properties": { - "Tags": { + "Subscriptions": { "items": { - "type": "object" + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" }, "type": "array" } }, + "required": [ + "Subscriptions" + ], "type": "object" }, - "AWS::IoT::Thing": { + "AWS::Greengrass::SubscriptionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47139,18 +50724,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { + "SubscriptionDefinitionId": { "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" } }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" }, @@ -47164,26 +50756,36 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::Thing.AttributePayload": { + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" } }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], "type": "object" }, - "AWS::IoT::ThingPrincipalAttachment": { + "AWS::GreengrassV2::ComponentVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47215,22 +50817,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "InlineRecipe": { "type": "string" }, - "ThingName": { - "type": "string" + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "Principal", - "ThingName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::GreengrassV2::ComponentVersion" ], "type": "string" }, @@ -47244,657 +50851,638 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DependencyType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "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" - ], + "Name": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { "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" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" - }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + "MemorySizeInKB": { + "type": "number" }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + "MountROSysfs": { + "type": "boolean" }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" } }, "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { "additionalProperties": false, "properties": { - "OffsetInNanos": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { "type": "string" }, - "TimeInSeconds": { + "Permission": { "type": "string" } }, - "required": [ - "TimeInSeconds" - ], "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyValue": { + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { "additionalProperties": false, "properties": { - "Quality": { + "Topic": { "type": "string" }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + "Type": { + "type": "string" } }, - "required": [ - "Timestamp", - "Value" - ], "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { "additionalProperties": false, "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "IntegerValue": { - "type": "string" + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoleArn": { + "InputPayloadEncodingType": { "type": "string" }, - "StateReason": { - "type": "string" + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" }, - "StateValue": { - "type": "string" - } - }, - "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" + "MaxIdleTimeInSeconds": { + "type": "number" }, - "MetricNamespace": { - "type": "string" + "MaxInstancesCount": { + "type": "number" }, - "MetricTimestamp": { - "type": "string" + "MaxQueueSize": { + "type": "number" }, - "MetricUnit": { - "type": "string" + "Pinned": { + "type": "boolean" }, - "MetricValue": { - "type": "string" + "StatusTimeoutInSeconds": { + "type": "number" }, - "RoleArn": { - "type": "string" + "TimeoutInSeconds": { + "type": "number" } }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" - ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBAction": { + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { "additionalProperties": false, "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { - "type": "string" + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" }, - "RangeKeyField": { - "type": "string" + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" }, - "RangeKeyType": { + "ComponentName": { "type": "string" }, - "RangeKeyValue": { - "type": "string" + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" }, - "RoleArn": { + "ComponentVersion": { "type": "string" }, - "TableName": { + "LambdaArn": { "type": "string" } }, - "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" - ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { "additionalProperties": false, "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" }, - "RoleArn": { + "IsolationMode": { "type": "string" } }, "type": "object" }, - "AWS::IoT::TopicRule.ElasticsearchAction": { + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" + "AddGroupOwner": { + "type": "boolean" }, - "Index": { + "DestinationPath": { "type": "string" }, - "RoleArn": { + "Permission": { "type": "string" }, - "Type": { + "SourcePath": { "type": "string" } }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], "type": "object" }, - "AWS::IoT::TopicRule.FirehoseAction": { + "AWS::GuardDuty::Detector": { "additionalProperties": false, "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAction": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ConfirmationUrl": { - "type": "string" + "Metadata": { + "type": "object" }, - "Headers": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + "Properties": { + "additionalProperties": false, + "properties": { + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } }, - "type": "array" + "required": [ + "Enable" + ], + "type": "object" }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpActionHeader": { - "additionalProperties": false, - "properties": { - "Key": { + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.HttpAuthorization": { + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { - "Sigv4": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, - "AWS::IoT::TopicRule.IotAnalyticsAction": { + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" + "Enable": { + "type": "boolean" } }, - "required": [ - "ChannelName", - "RoleArn" - ], "type": "object" }, - "AWS::IoT::TopicRule.IotEventsAction": { + "AWS::GuardDuty::Filter": { "additionalProperties": false, "properties": { - "InputName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MessageId": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], "type": "string" }, - "RoleArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InputName", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.IotSiteWiseAction": { + "AWS::GuardDuty::Filter.Condition": { "additionalProperties": false, "properties": { - "PutAssetPropertyValueEntries": { + "Eq": { "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + "type": "string" }, "type": "array" }, - "RoleArn": { - "type": "string" + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "PutAssetPropertyValueEntries", - "RoleArn" - ], "type": "object" }, - "AWS::IoT::TopicRule.KinesisAction": { + "AWS::GuardDuty::Filter.FindingCriteria": { "additionalProperties": false, "properties": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" + "Criterion": { + "type": "object" }, - "StreamName": { - "type": "string" + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, - "required": [ - "RoleArn", - "StreamName" - ], "type": "object" }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "AWS::GuardDuty::IPSet": { "additionalProperties": false, "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PropertyAlias": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PropertyId": { - "type": "string" + "Metadata": { + "type": "object" }, - "PropertyValues": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } }, - "type": "array" - } - }, - "required": [ - "PropertyValues" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.PutItemInput": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], "type": "string" }, - "Topic": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RoleArn", - "Topic" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.S3Action": { + "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" - }, - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SigV4Authorization": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ServiceName": { - "type": "string" + "Metadata": { + "type": "object" }, - "SigningRegion": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "ServiceName", - "SigningRegion" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SnsAction": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], "type": "string" }, - "TargetArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RoleArn", - "TargetArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.SqsAction": { + "AWS::GuardDuty::Member": { "additionalProperties": false, "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoleArn": { - "type": "string" + "Metadata": { + "type": "object" }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" }, - "Description": { + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], "type": "string" }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Actions", - "RuleDisabled", - "Sql" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel": { + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47926,27 +51514,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ChannelName": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { "type": "string" }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + "Format": { + "type": "string" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + "Location": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "type": "string" } }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Channel" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -47960,59 +51554,80 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { + "AWS::IAM::AccessKey": { "additionalProperties": false, "properties": { - "Bucket": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeyPrefix": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], "type": "string" }, - "RoleArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Bucket", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { + "AWS::IAM::Group": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48044,48 +51659,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" + "GroupName": { + "type": "string" }, - "ContentDeliveryRules": { + "ManagedPolicyArns": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + "type": "string" }, "type": "array" }, - "DatasetName": { + "Path": { "type": "string" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { + "Policies": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + "$ref": "#/definitions/AWS::IAM::Group.Policy" }, "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" } }, - "required": [ - "Actions" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Dataset" + "AWS::IAM::Group" ], "type": "string" }, @@ -48099,303 +51696,187 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Action": { + "AWS::IAM::Group.Policy": { "additionalProperties": false, "properties": { - "ActionName": { - "type": "string" - }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + "PolicyDocument": { + "type": "object" }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" + "PolicyName": { + "type": "string" } }, "required": [ - "ActionName" + "PolicyDocument", + "PolicyName" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { + "AWS::IAM::InstanceProfile": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" - }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" - }, - "TimeExpression": { - "type": "string" - } - }, - "required": [ - "OffsetSeconds", - "TimeExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" + "Metadata": { + "type": "object" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "required": [ - "NumberOfDays", - "Unlimited" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" + "required": [ + "Roles" + ], + "type": "object" }, - "Key": { + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], "type": "string" }, - "RoleArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Schedule": { + "AWS::IAM::ManagedPolicy": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DoubleValue": { - "type": "number" + "Metadata": { + "type": "object" }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" }, - "StringValue": { + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], "type": "string" }, - "VariableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "VariableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { + "AWS::IAM::OIDCProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48427,27 +51908,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DatastoreName": { - "type": "string" - }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + "ClientIdList": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbprintList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" } }, + "required": [ + "ThumbprintList" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Datastore" + "AWS::IAM::OIDCProvider" ], "type": "string" }, @@ -48461,59 +51951,12 @@ var SamSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { + "AWS::IAM::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48545,30 +51988,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PipelineActivities": { + "Groups": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + "type": "string" }, "type": "array" }, - "PipelineName": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { "type": "string" }, - "Tags": { + "Roles": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" }, "type": "array" } }, "required": [ - "PipelineActivities" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Pipeline" + "AWS::IAM::Policy" ], "type": "string" }, @@ -48587,214 +52040,333 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Activity": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" - }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" - }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + "Metadata": { + "type": "object" }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssumeRolePolicyDocument" + ], "type": "object" }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Channel": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::Role" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Datastore": { + "AWS::IAM::Role.Policy": { "additionalProperties": false, "properties": { - "DatastoreName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Name": { + "PolicyName": { "type": "string" } }, + "required": [ + "PolicyDocument", + "PolicyName" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "AWS::IAM::SAMLProvider": { "additionalProperties": false, "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "Next": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], "type": "string" }, - "ThingName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Filter": { + "AWS::IAM::ServerCertificate": { "additionalProperties": false, "properties": { - "Filter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "LambdaName": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateBody": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::ServerCertificate" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Math": { + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { - "Attribute": { - "type": "string" - }, - "Math": { - "type": "string" - }, - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AWSServiceName": { + "type": "string" + }, + "CustomSuffix": { + "type": "string" + }, + "Description": { + "type": "string" + } }, - "type": "array" + "required": [ + "AWSServiceName" + ], + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::ServiceLinkedRole" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48826,36 +52398,48 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "DetectorModelDescription": { - "type": "string" + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" }, - "DetectorModelName": { - "type": "string" + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EvaluationMethod": { + "Path": { "type": "string" }, - "Key": { + "PermissionsBoundary": { "type": "string" }, - "RoleArn": { - "type": "string" + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserName": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::DetectorModel" + "AWS::IAM::User" ], "type": "string" }, @@ -48873,415 +52457,184 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.Action": { + "AWS::IAM::User.LoginProfile": { "additionalProperties": false, "properties": { - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + "Password": { + "type": "string" }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" + "PasswordResetRequired": { + "type": "boolean" } }, + "required": [ + "Password" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { - "OffsetInNanos": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "TimeInSeconds": { + "PolicyName": { "type": "string" } }, + "required": [ + "PolicyDocument", + "PolicyName" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { - "Quality": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Value": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" + "Metadata": { + "type": "object" }, - "DoubleValue": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" }, - "IntegerValue": { + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], "type": "string" }, - "StringValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.ClearTimer": { + "AWS::IAM::VirtualMFADevice": { "additionalProperties": false, "properties": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "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": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "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" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" + "required": [ + "Users" + ], + "type": "object" }, "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], "type": "string" }, - "NextState": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::Input": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49313,13 +52666,13 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + "Authorized": { + "type": "boolean" }, - "InputDescription": { + "LatencyMode": { "type": "string" }, - "InputName": { + "Name": { "type": "string" }, "Tags": { @@ -49327,13 +52680,16 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::Input" + "AWS::IVS::Channel" ], "type": "string" }, @@ -49351,28 +52707,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTEvents::Input.Attribute": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::Input.InputDefinition": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::Asset": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49404,24 +52739,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { + "Name": { "type": "string" }, - "AssetName": { + "PublicKeyMaterial": { "type": "string" }, - "AssetProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -49430,14 +52753,13 @@ var SamSchema = `{ } }, "required": [ - "AssetModelId", - "AssetName" + "PublicKeyMaterial" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Asset" + "AWS::IVS::PlaybackKeyPair" ], "type": "string" }, @@ -49456,41 +52778,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "NotificationState": { - "type": "string" - } - }, - "required": [ - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49522,24 +52810,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssetModelDescription": { - "type": "string" - }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" - }, - "AssetModelName": { + "ChannelArn": { "type": "string" }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -49548,13 +52821,13 @@ var SamSchema = `{ } }, "required": [ - "AssetModelName" + "ChannelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::AssetModel" + "AWS::IVS::StreamKey" ], "type": "string" }, @@ -49573,178 +52846,107 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { - "ChildAssetModelId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "LogicalId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" - } - }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { - "additionalProperties": false, - "properties": { - "DataType": { - "type": "string" + "Metadata": { + "type": "object" }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + "Properties": { + "additionalProperties": false, + "properties": { + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" + } }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" - }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "TypeName" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Transform": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" + "required": [ + "Name", + "Platform", + "Version" + ], + "type": "object" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" - } - }, - "required": [ - "Interval" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { - "additionalProperties": false, - "properties": { - "HierarchyLogicalId": { + "Type": { + "enum": [ + "AWS::ImageBuilder::Component" + ], "type": "string" }, - "PropertyLogicalId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PropertyLogicalId" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTSiteWise::Gateway": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49776,34 +52978,71 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GatewayCapabilitySummaries": { + "Components": { "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" }, "type": "array" }, - "GatewayName": { + "ContainerType": { "type": "string" }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ - "GatewayName", - "GatewayPlatform" + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Gateway" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -49822,46 +53061,28 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { + "ComponentArn": { "type": "string" } }, - "required": [ - "CapabilityNamespace" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { - "additionalProperties": false, - "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" - } - }, - "required": [ - "Greengrass" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.Greengrass": { + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { - "GroupArn": { + "RepositoryName": { + "type": "string" + }, + "Service": { "type": "string" } }, - "required": [ - "GroupArn" - ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49893,21 +53114,37 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "Description": { + "type": "string" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "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": [ - "Definition" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -49926,23 +53163,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "Language": { - "type": "string" + "AmiDistributionConfiguration": { + "type": "object" }, - "Text": { + "ContainerDistributionConfiguration": { + "type": "object" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { "type": "string" } }, "required": [ - "Language", - "Text" + "Region" ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49974,22 +53219,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AliasName": { + "ContainerRecipeArn": { "type": "string" }, - "TargetKeyId": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "AliasName", - "TargetKeyId" + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Alias" + "AWS::ImageBuilder::Image" ], "type": "string" }, @@ -50008,7 +53273,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::KMS::Key": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50040,39 +53317,55 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "ContainerRecipeArn": { + "type": "string" + }, "Description": { "type": "string" }, - "EnableKeyRotation": { - "type": "boolean" + "DistributionConfigurationArn": { + "type": "string" }, - "Enabled": { + "EnhancedImageMetadataEnabled": { "type": "boolean" }, - "KeyPolicy": { - "type": "object" + "ImageRecipeArn": { + "type": "string" }, - "KeyUsage": { + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" }, - "PendingWindowInDays": { - "type": "number" + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "KeyPolicy" + "InfrastructureConfigurationArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Key" + "AWS::ImageBuilder::ImagePipeline" ], "type": "string" }, @@ -50091,7 +53384,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Kendra::DataSource": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50123,43 +53440,54 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" }, - "Description": { - "type": "string" + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" }, - "IndexId": { + "Description": { "type": "string" }, "Name": { "type": "string" }, - "RoleArn": { - "type": "string" - }, - "Schedule": { + "ParentImage": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::Kendra::DataSource.TagList" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "Type": { + "Version": { + "type": "string" + }, + "WorkingDirectory": { "type": "string" } }, "required": [ - "DataSourceConfiguration", - "IndexId", + "Components", "Name", - "RoleArn", - "Type" + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::DataSource" + "AWS::ImageBuilder::ImageRecipe" ], "type": "string" }, @@ -50178,657 +53506,787 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "KeyPath": { + "ComponentArn": { "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.AclConfiguration": { + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { - "AllowedGroupsColumnName": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, - "required": [ - "AllowedGroupsColumnName" - ], "type": "object" }, - "AWS::Kendra::DataSource.ChangeDetectingColumns": { + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { "additionalProperties": false, "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" - }, - "DocumentDataColumnName": { + "DeviceName": { "type": "string" }, - "DocumentIdColumnName": { - "type": "string" + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" }, - "DocumentTitleColumnName": { + "NoDevice": { "type": "string" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "VirtualName": { + "type": "string" } }, - "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" - ], "type": "object" }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { - "DatabaseHost": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DatabaseName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DatabasePort": { - "type": "number" + "Metadata": { + "type": "object" }, - "SecretArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "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": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { "additionalProperties": false, "properties": { - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" - }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" } }, "type": "object" }, - "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { "additionalProperties": false, "properties": { - "DataSourceInclusionsExclusionsStrings": { - "items": { - "type": "string" - }, - "type": "array" + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { - "DataSourceFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DateFieldFormat": { + "DependsOn": { + "anyOf": [ + { + "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" }, - "IndexFieldName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DataSourceFieldName", - "IndexFieldName" + "Type" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { - "additionalProperties": false, - "properties": { - "DataSourceToIndexFieldMappingList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { - "additionalProperties": false, - "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + "Metadata": { + "type": "object" }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + "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" }, - "DatabaseEngineType": { + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTemplate" + ], "type": "string" }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { - "S3Prefix": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { - "additionalProperties": false, - "properties": { - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "Metadata": { + "type": "object" }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupTags" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], "type": "string" }, - "TenantDomain": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.OneDriveUserList": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { - "OneDriveUserList": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BucketName": { - "type": "string" + "Metadata": { + "type": "object" }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], + "type": "string" }, - "InclusionPrefixes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "BucketName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.S3Path": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { - "Bucket": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "IncludeFilterTypes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { - "additionalProperties": false, - "properties": { - "SalesforceChatterFeedIncludeFilterTypes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { - "additionalProperties": false, - "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" + "required": [ + "ProjectName" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], "type": "string" }, - "ServerUrl": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" } }, "required": [ - "SecretArn", - "ServerUrl" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" + "required": [ + "PlacementTemplate" + ], + "type": "object" }, - "IncludedStates": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "IncludedStates" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { - "additionalProperties": false, - "properties": { - "SalesforceKnowledgeArticleStateList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { + "AWS::IoT1Click::Project.DeviceTemplate": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { - "type": "string" + "CallbackOverrides": { + "type": "object" }, - "DocumentTitleFieldName": { + "DeviceType": { "type": "string" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, - "required": [ - "DocumentDataFieldName" - ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { + "AWS::IoT1Click::Project.PlacementTemplate": { "additionalProperties": false, "properties": { - "DocumentTitleFieldName": { - "type": "string" + "DefaultAttributes": { + "type": "object" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "DeviceTemplates": { + "type": "object" } }, "type": "object" }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "AWS::IoT::AccountAuditConfiguration": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceStandardObjectConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], "type": "string" }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { "additionalProperties": false, "properties": { - "CrawlAttachments": { + "Enabled": { "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, - "required": [ - "DocumentDataFieldName" - ], "type": "object" }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { "additionalProperties": false, "properties": { - "CrawlAttachments": { - "type": "boolean" + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "DocumentTitleFieldName": { - "type": "string" + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "SecretArn": { - "type": "string" + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "SharePointVersion": { - "type": "string" + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "UseChangeLog": { - "type": "boolean" + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" } }, - "required": [ - "SecretArn", - "SharePointVersion", - "Urls" - ], "type": "object" }, - "AWS::Kendra::DataSource.SqlConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { "additionalProperties": false, "properties": { - "QueryIdentifiersEnclosingOption": { + "Enabled": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.TagList": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { "additionalProperties": false, "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" } }, "type": "object" }, - "AWS::Kendra::Faq": { + "AWS::IoT::Authorizer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50860,39 +54318,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AuthorizerFunctionArn": { "type": "string" }, - "FileFormat": { + "AuthorizerName": { "type": "string" }, - "IndexId": { - "type": "string" + "SigningDisabled": { + "type": "boolean" }, - "Name": { + "Status": { "type": "string" }, - "RoleArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + "TokenKeyName": { + "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::Kendra::Faq.TagList" + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" + "AuthorizerFunctionArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Faq" + "AWS::IoT::Authorizer" ], "type": "string" }, @@ -50911,35 +54375,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Faq.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index": { + "AWS::IoT::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50971,41 +54407,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { + "CACertificatePem": { "type": "string" }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfigurationList" - }, - "Edition": { + "CertificateMode": { "type": "string" }, - "Name": { + "CertificatePem": { "type": "string" }, - "RoleArn": { + "CertificateSigningRequest": { "type": "string" }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/AWS::Kendra::Index.TagList" + "Status": { + "type": "string" } }, "required": [ - "Edition", - "Name", - "RoleArn" + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Index" + "AWS::IoT::Certificate" ], "type": "string" }, @@ -51024,141 +54449,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfigurationList": { - "additionalProperties": false, - "properties": { - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItems": { - "additionalProperties": false, - "properties": { - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { + "AWS::IoT::CustomMetric": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51190,17 +54481,14 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "DisplayName": { "type": "string" }, - "RetentionPeriodHours": { - "type": "number" - }, - "ShardCount": { - "type": "number" + "MetricName": { + "type": "string" }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + "MetricType": { + "type": "string" }, "Tags": { "items": { @@ -51210,13 +54498,13 @@ var SamSchema = `{ } }, "required": [ - "ShardCount" + "MetricType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kinesis::Stream" + "AWS::IoT::CustomMetric" ], "type": "string" }, @@ -51235,23 +54523,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Kinesis::Stream.StreamEncryption": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KeyId": { - "type": "string" - } - }, - "required": [ - "EncryptionType", - "KeyId" - ], - "type": "object" - }, - "AWS::Kinesis::StreamConsumer": { + "AWS::IoT::Dimension": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51283,22 +54555,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConsumerName": { + "Name": { "type": "string" }, - "StreamARN": { + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { "type": "string" } }, "required": [ - "ConsumerName", - "StreamARN" + "StringValues", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kinesis::StreamConsumer" + "AWS::IoT::Dimension" ], "type": "string" }, @@ -51317,7 +54601,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalytics::Application": { + "AWS::IoT::DomainConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51349,30 +54633,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationCode": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { "type": "string" }, - "ApplicationDescription": { + "DomainConfigurationStatus": { "type": "string" }, - "ApplicationName": { + "DomainName": { "type": "string" }, - "Inputs": { + "ServerCertificateArns": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" } }, - "required": [ - "Inputs" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::Application" + "AWS::IoT::DomainConfiguration" ], "type": "string" }, @@ -51386,202 +54682,219 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { - "type": "string" + "AllowAuthorizerOverride": { + "type": "boolean" }, - "RecordRowDelimiter": { + "DefaultAuthorizerName": { "type": "string" } }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application.Input": { + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + "ServerCertificateArn": { + "type": "string" }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + "ServerCertificateStatus": { + "type": "string" }, - "NamePrefix": { + "ServerCertificateStatusDetail": { "type": "string" } }, - "required": [ - "InputSchema", - "NamePrefix" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleARN": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ActionParams", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::MitigationAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "AWS::IoT::MitigationAction.ActionParams": { "additionalProperties": false, "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" + }, + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" + }, + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" + }, + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" + }, + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" + }, + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" } }, "type": "object" }, - "AWS::KinesisAnalytics::Application.InputSchema": { + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { "additionalProperties": false, "properties": { - "RecordColumns": { + "OverrideDynamicGroups": { + "type": "boolean" + }, + "ThingGroupNames": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + "type": "string" }, "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "ThingGroupNames" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { "type": "string" } }, "required": [ - "RecordRowPath" + "LogLevel", + "RoleArnForLogging" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TopicArn": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TopicArn" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TemplateName": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TemplateName" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { + "Action": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.RecordFormat": { + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { + "Action": { "type": "string" } }, "required": [ - "RecordFormatType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput": { + "AWS::IoT::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51613,22 +54926,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + "PolicyName": { + "type": "string" } }, "required": [ - "ApplicationName", - "Output" + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" + "AWS::IoT::Policy" ], "type": "string" }, @@ -51647,88 +54959,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "AWS::IoT::PolicyPrincipalAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51760,22 +54991,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "PolicyName": { "type": "string" }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + "Principal": { + "type": "string" } }, "required": [ - "ApplicationName", - "ReferenceDataSource" + "PolicyName", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + "AWS::IoT::PolicyPrincipalAttachment" ], "type": "string" }, @@ -51794,141 +55025,187 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::ProvisioningTemplate": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" }, - "SqlType": { + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" }, - "RecordFormatType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RecordFormatType" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { "additionalProperties": false, "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { + "PayloadVersion": { "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" }, - "RecordEncoding": { + "TargetArn": { "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" } }, - "required": [ - "RecordColumns", - "RecordFormat" - ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "AWS::IoT::ScheduledAudit": { "additionalProperties": false, "properties": { - "BucketARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FileKey": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], "type": "string" }, - "ReferenceRoleARN": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application": { + "AWS::IoT::SecurityProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51960,19 +55237,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" }, - "ApplicationDescription": { - "type": "string" + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" }, - "ApplicationName": { - "type": "string" + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" }, - "RuntimeEnvironment": { + "SecurityProfileDescription": { "type": "string" }, - "ServiceExecutionRole": { + "SecurityProfileName": { "type": "string" }, "Tags": { @@ -51980,17 +55269,19 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::Application" + "AWS::IoT::SecurityProfile" ], "type": "string" }, @@ -52004,388 +55295,246 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "AWS::IoT::SecurityProfile.AlertTarget": { "additionalProperties": false, "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + "AlertTargetArn": { + "type": "string" }, - "CodeContentType": { + "RoleArn": { "type": "string" } }, "required": [ - "CodeContent", - "CodeContentType" + "AlertTargetArn", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "AWS::IoT::SecurityProfile.Behavior": { "additionalProperties": false, "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + "Metric": { + "type": "string" }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + "Name": { + "type": "string" }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { + "SuppressAlerts": { "type": "boolean" } }, "required": [ - "SnapshotsEnabled" + "Name" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "AWS::IoT::SecurityProfile.BehaviorCriteria": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "ComparisonOperator": { "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { + "ConsecutiveDatapointsToAlarm": { "type": "number" }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" + "ConsecutiveDatapointsToClear": { + "type": "number" }, - "MinPauseBetweenCheckpoints": { + "DurationSeconds": { "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" }, - "TextContent": { - "type": "string" + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { "additionalProperties": false, "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + "ConfidenceLevel": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.Input": { + "AWS::IoT::SecurityProfile.MetricDimension": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + "DimensionName": { + "type": "string" }, - "NamePrefix": { + "Operator": { "type": "string" } }, "required": [ - "InputSchema", - "NamePrefix" + "DimensionName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Metric": { "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" } }, "required": [ - "ResourceARN" + "Metric" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "AWS::IoT::SecurityProfile.MetricValue": { "additionalProperties": false, "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, "Count": { + "type": "string" + }, + "Number": { "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { + }, + "Numbers": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + "type": "number" }, "type": "array" }, - "RecordEncoding": { - "type": "string" + "Ports": { + "items": { + "type": "number" + }, + "type": "array" }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + "Strings": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RecordColumns", - "RecordFormat" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "Statistic": { "type": "string" } }, - "required": [ - "RecordRowPath" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "AWS::IoT::Thing": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { + }, + "DependsOn": { + "anyOf": [ + { + "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": [ - "ResourceARN" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "AWS::IoT::Thing.AttributePayload": { "additionalProperties": false, "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "AWS::IoT::ThingPrincipalAttachment": { "additionalProperties": false, "properties": { - "ConfigurationType": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -52409,22 +55558,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Principal": { "type": "string" }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + "ThingName": { + "type": "string" } }, "required": [ - "ApplicationName", - "CloudWatchLoggingOption" + "Principal", + "ThingName" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + "AWS::IoT::ThingPrincipalAttachment" ], "type": "string" }, @@ -52443,19 +55592,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "AWS::IoT::TopicRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52487,22 +55624,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "RuleName": { "type": "string" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } }, "required": [ - "ApplicationName", - "Output" + "TopicRulePayload" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" + "AWS::IoT::TopicRule" ], "type": "string" }, @@ -52521,1068 +55657,1227 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "AWS::IoT::TopicRule.Action": { "additionalProperties": false, "properties": { - "RecordFormatType": { - "type": "string" + "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" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "ResourceARN": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { "type": "string" } }, "required": [ - "ResourceARN" + "TimeInSeconds" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "AWS::IoT::TopicRule.AssetPropertyValue": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Quality": { "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" } }, "required": [ - "ResourceARN" + "Timestamp", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "AWS::IoT::TopicRule.AssetPropertyVariant": { "additionalProperties": false, "properties": { - "ResourceARN": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { "type": "string" } }, "required": [ - "ResourceARN" + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + "MetricName": { + "type": "string" }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + "MetricNamespace": { + "type": "string" }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + "MetricTimestamp": { + "type": "string" }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + "MetricUnit": { + "type": "string" }, - "Name": { + "MetricValue": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, "required": [ - "DestinationSchema" + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "AWS::IoT::TopicRule.DynamoDBAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HashKeyField": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "HashKeyType": { + "type": "string" }, - "Metadata": { - "type": "object" + "HashKeyValue": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" + "PayloadField": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], + "RangeKeyField": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::TopicRule.DynamoDBv2Action": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { "type": "string" }, - "RecordRowDelimiter": { + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { "type": "string" } }, "required": [ - "RecordRowPath" + "DeliveryStreamName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "AWS::IoT::TopicRule.HttpAction": { "additionalProperties": false, "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" } }, + "required": [ + "Url" + ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "AWS::IoT::TopicRule.HttpActionHeader": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { + "Key": { "type": "string" }, - "SqlType": { + "Value": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Key", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "AWS::IoT::TopicRule.HttpAuthorization": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" }, - "RecordFormatType": { + "RoleArn": { "type": "string" } }, "required": [ - "RecordFormatType" + "ChannelName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + "InputName": { + "type": "string" }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + "MessageId": { + "type": "string" }, - "TableName": { + "RoleArn": { "type": "string" } }, "required": [ - "ReferenceSchema" + "InputName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "AWS::IoT::TopicRule.IotSiteWiseAction": { "additionalProperties": false, "properties": { - "RecordColumns": { + "PutAssetPropertyValueEntries": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" }, "type": "array" }, - "RecordEncoding": { + "RoleArn": { "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "PutAssetPropertyValueEntries", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { - "BucketARN": { + "PartitionKey": { "type": "string" }, - "FileKey": { + "RoleArn": { + "type": "string" + }, + "StreamName": { "type": "string" } }, "required": [ - "BucketARN", - "FileKey" + "RoleArn", + "StreamName" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream": { + "AWS::IoT::TopicRule.LambdaAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" + "EntryId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], + "PropertyAlias": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PropertyId": { "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" } }, "required": [ - "Type" + "PropertyValues" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" + "TableName": { + "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" + "Qos": { + "type": "number" }, - "LogGroupName": { + "RoleArn": { "type": "string" }, - "LogStreamName": { + "Topic": { "type": "string" } }, + "required": [ + "RoleArn", + "Topic" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "AWS::IoT::TopicRule.S3Action": { "additionalProperties": false, "properties": { - "CopyOptions": { + "BucketName": { "type": "string" }, - "DataTableColumns": { + "Key": { "type": "string" }, - "DataTableName": { + "RoleArn": { "type": "string" } }, "required": [ - "DataTableName" + "BucketName", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "AWS::IoT::TopicRule.SigV4Authorization": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + "RoleArn": { + "type": "string" }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + "ServiceName": { + "type": "string" }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + "SigningRegion": { + "type": "string" } }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { - "KeyARN": { + "MessageFormat": { "type": "string" }, - "KeyType": { + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "KeyType" + "RoleArn", + "TargetArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "AWS::IoT::TopicRule.SqsAction": { "additionalProperties": false, "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + "QueueUrl": { + "type": "string" }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" } }, + "required": [ + "QueueUrl", + "RoleArn" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "AWS::IoT::TopicRule.StepFunctionsAction": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" + "ExecutionNamePrefix": { + "type": "string" }, - "SizeInMBs": { - "type": "number" + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" } }, + "required": [ + "RoleArn", + "StateMachineName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" }, - "IndexRotationPeriod": { + "AwsIotSqlVersion": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { + "Description": { "type": "string" }, - "S3BackupMode": { - "type": "string" + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "RuleDisabled": { + "type": "boolean" }, - "TypeName": { + "Sql": { "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "IndexName", - "RoleARN", - "S3Configuration" + "Actions", + "RuleDisabled", + "Sql" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "AWS::IoT::TopicRuleDestination": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Prefix": { - "type": "string" + "Metadata": { + "type": "object" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" }, - "RoleARN": { + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], "type": "string" }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { "additionalProperties": false, "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" + "ConfirmationUrl": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { "additionalProperties": false, "properties": { - "AttributeName": { + "RoleArn": { "type": "string" }, - "AttributeValue": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, - "required": [ - "AttributeName", - "AttributeValue" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "AWS::IoTAnalytics::Channel": { "additionalProperties": false, "properties": { - "AccessKey": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], "type": "string" }, - "Url": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Url" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "AWS::IoTAnalytics::Channel.ChannelStorage": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" } }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { "additionalProperties": false, "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" + "Bucket": { + "type": "string" }, - "ContentEncoding": { + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, + "required": [ + "Bucket", + "RoleArn" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "AWS::IoTAnalytics::Channel.RetentionPeriod": { "additionalProperties": false, "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], + "properties": {}, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "AWS::IoTAnalytics::Dataset": { "additionalProperties": false, "properties": { - "KinesisStreamARN": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "RoleARN": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "KinesisStreamARN", - "RoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "AWS::IoTAnalytics::Dataset.Action": { "additionalProperties": false, "properties": { - "CaseInsensitive": { - "type": "boolean" + "ActionName": { + "type": "string" }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" } }, + "required": [ + "ActionName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "AWS::IoTAnalytics::Dataset.ContainerAction": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" + "ExecutionRoleArn": { + "type": "string" }, - "Compression": { + "Image": { "type": "string" }, - "DictionaryKeyThreshold": { - "type": "number" + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" }, - "EnablePadding": { - "type": "boolean" + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" }, - "FormatVersion": { + "EntryName": { "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { + "additionalProperties": false, + "properties": { + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "number" - }, - "StripeSizeBytes": { - "type": "number" + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { "additionalProperties": false, "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + "DatasetName": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "AWS::IoTAnalytics::Dataset.DeltaTime": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { + "OffsetSeconds": { "type": "number" }, - "Compression": { + "TimeExpression": { "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "number" - }, - "PageSizeBytes": { + } + }, + "required": [ + "OffsetSeconds", + "TimeExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { + "additionalProperties": false, + "properties": { + "TimeoutInMinutes": { "type": "number" - }, - "WriterVersion": { - "type": "string" } }, + "required": [ + "TimeoutInMinutes" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "AWS::IoTAnalytics::Dataset.Filter": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "Type": { + "TableName": { "type": "string" } }, "required": [ - "Type" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { "additionalProperties": false, "properties": { - "ParameterName": { + "InputName": { "type": "string" }, - "ParameterValue": { + "RoleArn": { "type": "string" } }, "required": [ - "ParameterName", - "ParameterValue" + "InputName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.LateDataRule": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { + "RuleName": { "type": "string" } }, "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" + "RuleConfiguration" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "FileName": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.QueryAction": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" }, - "RoleARN": { + "SqlQuery": { "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "SqlQuery" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { + "ComputeType": { "type": "string" }, - "VersionId": { - "type": "string" + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { "additionalProperties": false, "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + "NumberOfDays": { + "type": "number" }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + "Unlimited": { + "type": "boolean" } }, + "required": [ + "NumberOfDays", + "Unlimited" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { + "Bucket": { "type": "string" }, - "HECEndpointType": { - "type": "string" + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" }, - "HECToken": { + "Key": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { + "RoleArn": { "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "AWS::IoTAnalytics::Dataset.Schedule": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "ScheduleExpression": { + "type": "string" } }, + "required": [ + "ScheduleExpression" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "AWS::IoTAnalytics::Dataset.Trigger": { "additionalProperties": false, "properties": { - "RoleARN": { + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" + }, + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { "type": "string" + } + }, + "required": [ + "DatasetName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Variable": { + "additionalProperties": false, + "properties": { + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DoubleValue": { + "type": "number" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + }, + "StringValue": { + "type": "string" + }, + "VariableName": { + "type": "string" } }, "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" + "VariableName" ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings": { + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -53614,12 +56909,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + "DatastoreName": { + "type": "string" }, - "TrustedResourceOwners": { + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + }, + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -53628,7 +56932,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::LakeFormation::DataLakeSettings" + "AWS::IoTAnalytics::Datastore" ], "type": "string" }, @@ -53646,27 +56950,115 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "AWS::IoTAnalytics::Datastore.Column": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { + "Name": { + "type": "string" + }, + "Type": { "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::LakeFormation::Permissions": { + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { + "additionalProperties": false, + "properties": { + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" + }, + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { + "additionalProperties": false, + "properties": { + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", "Snapshot" ], "type": "string" @@ -53692,34 +57084,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" - }, - "Permissions": { + "PipelineActivities": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" }, "type": "array" }, - "PermissionsWithGrantOption": { + "PipelineName": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" } }, "required": [ - "DataLakePrincipal", - "Resource" + "PipelineActivities" ], "type": "object" }, "Type": { "enum": [ - "AWS::LakeFormation::Permissions" + "AWS::IoTAnalytics::Pipeline" ], "type": "string" }, @@ -53738,43 +57126,76 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { + "AWS::IoTAnalytics::Pipeline.Activity": { "additionalProperties": false, "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + }, + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + }, + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" + }, + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "AWS::IoTAnalytics::Pipeline.AddAttributes": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { + "Attributes": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DataLocationResource": { + "AWS::IoTAnalytics::Pipeline.Channel": { "additionalProperties": false, "properties": { - "CatalogId": { + "ChannelName": { "type": "string" }, - "S3Resource": { + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DatabaseResource": { + "AWS::IoTAnalytics::Pipeline.Datastore": { "additionalProperties": false, "properties": { - "CatalogId": { + "DatastoreName": { "type": "string" }, "Name": { @@ -53783,263 +57204,136 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::LakeFormation::Permissions.Resource": { + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { "additionalProperties": false, "properties": { - "DataLocationResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + "Attribute": { + "type": "string" }, - "DatabaseResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" + "Name": { + "type": "string" }, - "TableResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + "Next": { + "type": "string" }, - "TableWithColumnsResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableResource": { + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { "additionalProperties": false, "properties": { - "CatalogId": { + "Attribute": { "type": "string" }, - "DatabaseName": { + "Name": { "type": "string" }, - "Name": { + "Next": { "type": "string" }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "AWS::IoTAnalytics::Pipeline.Filter": { "additionalProperties": false, "properties": { - "CatalogId": { + "Filter": { "type": "string" }, - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { + "Name": { "type": "string" }, - "Name": { + "Next": { "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Resource": { + "AWS::IoTAnalytics::Pipeline.Lambda": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "BatchSize": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseServiceLinkedRole": { - "type": "boolean" - } - }, - "required": [ - "ResourceArn", - "UseServiceLinkedRole" - ], - "type": "object" + "LambdaName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::LakeFormation::Resource" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Alias": { + "AWS::IoTAnalytics::Pipeline.Math": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "type": "object" + "Math": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { "additionalProperties": false, "properties": { - "AdditionalVersionWeights": { + "Attributes": { "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + "type": "string" }, "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" } }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], "type": "object" }, - "AWS::Lambda::Alias.VersionWeight": { + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { "additionalProperties": false, "properties": { - "FunctionVersion": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "FunctionWeight": { - "type": "number" + "Next": { + "type": "string" } }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig": { + "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54071,31 +57365,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" }, - "FunctionName": { + "DetectorModelDescription": { "type": "string" }, - "MaximumEventAgeInSeconds": { - "type": "number" + "DetectorModelName": { + "type": "string" }, - "MaximumRetryAttempts": { - "type": "number" + "EvaluationMethod": { + "type": "string" }, - "Qualifier": { + "Key": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "FunctionName", - "Qualifier" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::EventInvokeConfig" + "AWS::IoTEvents::DetectorModel" ], "type": "string" }, @@ -54109,400 +57408,419 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "AWS::IoTEvents::DetectorModel.Action": { "additionalProperties": false, "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" } }, "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "Destination": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { "additionalProperties": false, "properties": { - "Destination": { + "Quality": { "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventSourceMapping": { + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BooleanValue": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DoubleValue": { + "type": "string" }, - "Metadata": { - "type": "object" + "IntegerValue": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "EventSourceArn": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" - }, - "StartingPosition": { - "type": "string" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ClearTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { + "type": "string" + }, + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" }, - "required": [ - "EventSourceArn", - "FunctionName" - ], - "type": "object" + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::EventSourceMapping" - ], + "HashKeyType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { "additionalProperties": false, "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::EventSourceMapping.OnFailure": { + "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { - "Destination": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "AWS::IoTEvents::DetectorModel.Firehose": { "additionalProperties": false, "properties": { - "Type": { + "DeliveryStreamName": { "type": "string" }, - "URI": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function": { + "AWS::IoTEvents::DetectorModel.IotEvents": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "InputName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Handler", - "Role", - "Runtime" - ], - "type": "object" + "EntryId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], + "PropertyAlias": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PropertyId": { "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Function.Code": { + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { "additionalProperties": false, "properties": { - "S3Bucket": { + "MqttTopic": { "type": "string" }, - "S3Key": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { "type": "string" }, - "S3ObjectVersion": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + }, + "TransitionEvents": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { "type": "string" }, - "ZipFile": { + "Type": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.DeadLetterConfig": { + "AWS::IoTEvents::DetectorModel.ResetTimer": { "additionalProperties": false, "properties": { - "TargetArn": { + "TimerName": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.Environment": { + "AWS::IoTEvents::DetectorModel.SetTimer": { "additionalProperties": false, "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.FileSystemConfig": { + "AWS::IoTEvents::DetectorModel.SetVariable": { "additionalProperties": false, "properties": { - "Arn": { + "Value": { "type": "string" }, - "LocalMountPath": { + "VariableName": { "type": "string" } }, - "required": [ - "Arn", - "LocalMountPath" - ], "type": "object" }, - "AWS::Lambda::Function.TracingConfig": { + "AWS::IoTEvents::DetectorModel.Sns": { "additionalProperties": false, "properties": { - "Mode": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.VpcConfig": { + "AWS::IoTEvents::DetectorModel.Sqs": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" }, - "SubnetIds": { + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" }, "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" } }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], "type": "object" }, - "AWS::Lambda::LayerVersion": { + "AWS::IoTEvents::Input": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54534,33 +57852,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" }, - "Description": { + "InputDescription": { "type": "string" }, - "LayerName": { + "InputName": { "type": "string" }, - "LicenseInfo": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Content" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersion" + "AWS::IoTEvents::Input" ], "type": "string" }, @@ -54574,31 +57886,32 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::LayerVersion.Content": { + "AWS::IoTEvents::Input.Attribute": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { + "JsonPath": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::Lambda::LayerVersionPermission": { + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54630,29 +57943,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" }, - "OrganizationId": { + "AccessPolicyPermission": { "type": "string" }, - "Principal": { - "type": "string" + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" } }, "required": [ - "Action", - "LayerVersionArn", - "Principal" + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersionPermission" + "AWS::IoTSiteWise::AccessPolicy" ], "type": "string" }, @@ -54671,7 +57981,79 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Lambda::Permission": { + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54703,35 +58085,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "FunctionName": { + "AssetModelId": { "type": "string" }, - "Principal": { + "AssetName": { "type": "string" }, - "SourceAccount": { - "type": "string" + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" }, - "SourceArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Action", - "FunctionName", - "Principal" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Permission" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -54750,7 +58137,41 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Lambda::Version": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54782,27 +58203,45 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CodeSha256": { - "type": "string" + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" }, - "Description": { + "AssetModelDescription": { "type": "string" }, - "FunctionName": { + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { "type": "string" }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "FunctionName" + "AssetModelName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Version" + "AWS::IoTSiteWise::AssetModel" ], "type": "string" }, @@ -54821,19 +58260,206 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "ProvisionedConcurrentExecutions" + "Name", + "Type" ], "type": "object" }, - "AWS::Logs::Destination": { + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54865,30 +58491,35 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationName": { + "DashboardDefinition": { "type": "string" }, - "DestinationPolicy": { + "DashboardDescription": { "type": "string" }, - "RoleArn": { + "DashboardName": { "type": "string" }, - "TargetArn": { + "ProjectId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" + "DashboardDefinition", + "DashboardDescription", + "DashboardName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::IoTSiteWise::Dashboard" ], "type": "string" }, @@ -54907,7 +58538,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Logs::LogGroup": { + "AWS::IoTSiteWise::Gateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54939,21 +58570,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" }, - "LogGroupName": { + "GatewayName": { "type": "string" }, - "RetentionInDays": { - "type": "number" + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogGroup" + "AWS::IoTSiteWise::Gateway" ], "type": "string" }, @@ -54967,11 +58611,51 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Logs::LogStream": { + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55003,21 +58687,38 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PortalAuthMode": { "type": "string" }, - "LogStreamName": { + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "LogGroupName" + "PortalContactEmail", + "PortalName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogStream" + "AWS::IoTSiteWise::Portal" ], "type": "string" }, @@ -55036,7 +58737,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Logs::MetricFilter": { + "AWS::IoTSiteWise::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55068,29 +58769,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "FilterPattern": { + "PortalId": { "type": "string" }, - "LogGroupName": { + "ProjectDescription": { "type": "string" }, - "MetricTransformations": { + "ProjectName": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" + "PortalId", + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::MetricFilter" + "AWS::IoTSiteWise::Project" ], "type": "string" }, @@ -55109,30 +58812,88 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Logs::MetricFilter.MetricTransformation": { + "AWS::IoTThingsGraph::FlowTemplate": { "additionalProperties": false, "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MetricNamespace": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], "type": "string" }, - "MetricValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" + "Type", + "Properties" ], "type": "object" }, - "AWS::Logs::SubscriptionFilter": { + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55164,29 +58925,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Description": { "type": "string" }, - "FilterPattern": { + "Expression": { "type": "string" }, - "LogGroupName": { + "ExpressionType": { + "type": "string" + }, + "Name": { "type": "string" }, "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "Expression", + "ExpressionType", + "Name", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::IoTWireless::Destination" ], "type": "string" }, @@ -55205,7 +58976,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MSK::Cluster": { + "AWS::IoTWireless::DeviceProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55237,51 +59008,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { - "type": "string" - }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" }, - "EnhancedMonitoring": { - "type": "string" - }, - "KafkaVersion": { + "Name": { "type": "string" }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" - }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" - }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" - ], "type": "object" }, "Type": { "enum": [ - "AWS::MSK::Cluster" + "AWS::IoTWireless::DeviceProfile" ], "type": "string" }, @@ -55295,284 +59039,59 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MSK::Cluster.BrokerLogs": { + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { "additionalProperties": false, "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + "ClassBTimeout": { + "type": "number" }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + "ClassCTimeout": { + "type": "number" }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { + "MacVersion": { "type": "string" }, - "ClientSubnets": { - "items": { - "type": "string" - }, - "type": "array" + "MaxDutyCycle": { + "type": "number" }, - "InstanceType": { - "type": "string" + "MaxEirp": { + "type": "number" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "PingSlotDr": { + "type": "number" }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" - } - }, - "required": [ - "ClientSubnets", - "InstanceType" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ClientAuthentication": { - "additionalProperties": false, - "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + "PingSlotFreq": { + "type": "number" }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + "PingSlotPeriod": { + "type": "number" }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { + "RegParamsRevision": { "type": "string" }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { + "RfRegion": { "type": "string" }, - "InCluster": { + "Supports32BitFCnt": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" - }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "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": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "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": { - "EnabledInBroker": { + "SupportsClassB": { "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { + "SupportsClassC": { "type": "boolean" }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "required": [ - "Scram" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { + "SupportsJoin": { "type": "boolean" } }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, "type": "object" }, - "AWS::Macie::CustomDataIdentifier": { + "AWS::IoTWireless::ServiceProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55604,40 +59123,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Keywords": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" } }, - "required": [ - "Name", - "Regex" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::CustomDataIdentifier" + "AWS::IoTWireless::ServiceProfile" ], "type": "string" }, @@ -55651,12 +59154,74 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Macie::FindingsFilter": { + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55688,31 +59253,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "Description": { "type": "string" }, - "Description": { + "DestinationName": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "Position": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "FindingCriteria", - "Name" + "DestinationName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::IoTWireless::WirelessDevice" ], "type": "string" }, @@ -55731,283 +59308,142 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Macie::FindingsFilter.Criterion": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, - "properties": {}, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingCriteria": { + "AWS::IoTWireless::WirelessDevice.AbpV11": { "additionalProperties": false, "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" } }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "Id": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { "type": "string" }, - "Name": { + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { "type": "string" } }, "type": "object" }, - "AWS::Macie::Session": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], + "AppEui": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AppKey": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AppEui", + "AppKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "AWS::IoTWireless::WirelessDevice.OtaaV11": { "additionalProperties": false, "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { + "AppKey": { "type": "string" }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { + "JoinEui": { "type": "string" }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { + "NwkKey": { "type": "string" } }, "required": [ - "Name" + "AppKey", + "JoinEui", + "NwkKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { - "AdminPassword": { + "AppSKey": { "type": "string" }, - "AdminUsername": { + "NwkSKey": { "type": "string" } }, "required": [ - "AdminPassword", - "AdminUsername" + "AppSKey", + "NwkSKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { "additionalProperties": false, "properties": { - "Description": { + "AppSKey": { "type": "string" }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { + "FNwkSIntKey": { "type": "string" }, - "Name": { + "NwkSEncKey": { "type": "string" }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { + "SNwkSIntKey": { "type": "string" } }, "required": [ - "Edition" + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { + "AWS::IoTWireless::WirelessGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56039,26 +59475,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "MemberId": { + "Description": { "type": "string" }, - "NetworkId": { + "LastUplinkReceivedAt": { "type": "string" }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" } }, "required": [ - "MemberId", - "NetworkId", - "NodeConfiguration" + "LoRaWAN" ], "type": "object" }, "Type": { "enum": [ - "AWS::ManagedBlockchain::Node" + "AWS::IoTWireless::WirelessGateway" ], "type": "string" }, @@ -56077,23 +59523,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "GatewayEui": { "type": "string" }, - "InstanceType": { + "RfRegion": { "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "GatewayEui", + "RfRegion" ], "type": "object" }, - "AWS::MediaConvert::JobTemplate": { + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56125,48 +59571,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { + "AliasName": { "type": "string" }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { + "TargetKeyId": { "type": "string" - }, - "Tags": { - "type": "object" } }, "required": [ - "SettingsJson" + "AliasName", + "TargetKeyId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::JobTemplate" + "AWS::KMS::Alias" ], "type": "string" }, @@ -56185,34 +59605,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "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": { + "AWS::KMS::Key": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56244,30 +59637,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Category": { + "Description": { "type": "string" }, - "Description": { + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { "type": "string" }, - "Name": { + "KeyUsage": { "type": "string" }, - "SettingsJson": { - "type": "object" + "PendingWindowInDays": { + "type": "number" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SettingsJson" + "KeyPolicy" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Preset" + "AWS::KMS::Key" ], "type": "string" }, @@ -56286,7 +59691,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaConvert::Queue": { + "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56318,27 +59723,44 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, "Description": { "type": "string" }, + "IndexId": { + "type": "string" + }, "Name": { "type": "string" }, - "PricingPlan": { + "RoleArn": { "type": "string" }, - "Status": { + "Schedule": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, + "required": [ + "IndexId", + "Name", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Queue" + "AWS::Kendra::DataSource" ], "type": "string" }, @@ -56352,2567 +59774,17388 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Channel": { + "AWS::Kendra::DataSource.AccessControlListConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], + "KeyPath": { "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { "type": "string" } }, "required": [ - "Type" + "AllowedGroupsColumnName" ], "type": "object" }, - "AWS::MediaLive::Channel.AacSettings": { + "AWS::Kendra::DataSource.ChangeDetectingColumns": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Ac3Settings": { + "AWS::Kendra::DataSource.ColumnConfiguration": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" + "ChangeDetectingColumns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" }, - "CodingMode": { + "DocumentDataColumnName": { "type": "string" }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { + "DocumentIdColumnName": { "type": "string" }, - "LfeFilter": { + "DocumentTitleColumnName": { "type": "string" }, - "MetadataControl": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], "type": "object" }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { "additionalProperties": false, "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + "AttachmentFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList" + }, + "CrawlAttachments": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" + "ConfluenceAttachmentFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { "additionalProperties": false, "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" - }, - "Extension": { + "DataSourceFieldName": { "type": "string" }, - "NameModifier": { + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { "additionalProperties": false, - "properties": {}, + "properties": { + "BlogFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.AudioChannelMapping": { + "AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList": { "additionalProperties": false, "properties": { - "InputChannelLevels": { + "ConfluenceBlogFieldMappingsList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" }, "type": "array" - }, - "OutputChannel": { - "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioCodecSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { "additionalProperties": false, "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + "DataSourceFieldName": { + "type": "string" }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + "DateFieldFormat": { + "type": "string" }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioDescription": { + "AWS::Kendra::DataSource.ConfluenceConfiguration": { "additionalProperties": false, "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" }, - "AudioType": { - "type": "string" + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" }, - "AudioTypeControl": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "LanguageCode": { - "type": "string" + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" }, - "LanguageCodeControl": { + "SecretArn": { "type": "string" }, - "Name": { + "ServerUrl": { "type": "string" }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" }, - "StreamName": { + "Version": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" + "PageFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "AWS::Kendra::DataSource.ConfluencePageFieldMappingsList": { "additionalProperties": false, "properties": { - "Algorithm": { + "ConfluencePageFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { "type": "string" }, - "AlgorithmControl": { + "DateFieldFormat": { "type": "string" }, - "TargetLkfs": { - "type": "number" + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { "additionalProperties": false, "properties": { - "AudioGroupId": { - "type": "string" + "CrawlArchivedSpaces": { + "type": "boolean" }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "CrawlPersonalSpaces": { + "type": "boolean" }, - "AudioTrackType": { - "type": "string" + "ExcludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" }, - "SegmentType": { - "type": "string" + "IncludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" + }, + "SpaceFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioPidSelection": { + "AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "ConfluenceSpaceFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioSelector": { + "AWS::Kendra::DataSource.ConfluenceSpaceList": { "additionalProperties": false, "properties": { - "Name": { + "ConfluenceSpaceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { "type": "string" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { + "AWS::Kendra::DataSource.ConnectionConfiguration": { "additionalProperties": false, "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + "DatabaseHost": { + "type": "string" }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + "DatabaseName": { + "type": "string" }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { + "type": "string" } }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioTrack": { + "AWS::Kendra::DataSource.DataSourceConfiguration": { "additionalProperties": false, "properties": { - "Track": { - "type": "number" + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioTrackSelection": { + "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { "additionalProperties": false, "properties": { - "Tracks": { + "DataSourceInclusionsExclusionsStrings": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { "additionalProperties": false, "properties": { - "InputPreference": { + "DataSourceFieldName": { "type": "string" }, - "SecondaryInputId": { + "DateFieldFormat": { "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailBlanking": { - "additionalProperties": false, - "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, - "State": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AvailConfiguration": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { "additionalProperties": false, "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + "DataSourceToIndexFieldMappingList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AvailSettings": { + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { "additionalProperties": false, "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], "type": "object" }, - "AWS::MediaLive::Channel.BlackoutSlate": { + "AWS::Kendra::DataSource.DatabaseConfiguration": { "additionalProperties": false, "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" }, - "NetworkEndBlackout": { - "type": "string" + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" }, - "NetworkId": { + "DatabaseEngineType": { "type": "string" }, - "State": { - "type": "string" + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], "type": "object" }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { + "S3Prefix": { "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionDescription": { + "AWS::Kendra::DataSource.ExcludeMimeTypesList": { "additionalProperties": false, "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - }, - "Name": { - "type": "string" + "ExcludeMimeTypesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "AWS::Kendra::DataSource.ExcludeSharedDrivesList": { "additionalProperties": false, "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" - }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" - }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" - }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" - }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + "ExcludeSharedDrivesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "AWS::Kendra::DataSource.ExcludeUserAccountsList": { "additionalProperties": false, "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" + "ExcludeUserAccountsList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelector": { + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" + "ExcludeMimeTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeMimeTypesList" }, - "Name": { - "type": "string" + "ExcludeSharedDrives": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeSharedDrivesList" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + "ExcludeUserAccounts": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeUserAccountsList" + }, + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { + "type": "string" } }, + "required": [ + "SecretArn" + ], "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "AWS::Kendra::DataSource.OneDriveConfiguration": { "additionalProperties": false, "properties": { - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + "DisableLocalGroups": { + "type": "boolean" }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + "SecretArn": { + "type": "string" + }, + "TenantDomain": { + "type": "string" } }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { + "AWS::Kendra::DataSource.OneDriveUserList": { "additionalProperties": false, "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSdtSettings": { + "AWS::Kendra::DataSource.OneDriveUsers": { "additionalProperties": false, "properties": { - "OutputSdt": { - "type": "string" - }, - "RepInterval": { - "type": "number" - }, - "ServiceName": { - "type": "string" + "OneDriveUserList": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" }, - "ServiceProviderName": { - "type": "string" + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" }, - "BackgroundColor": { + "BucketName": { "type": "string" }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" }, - "OutlineColor": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "OutlineSize": { - "type": "number" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "ShadowColor": { + "InclusionPrefixes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { + "Key": { "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "IncludeFilterTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbTdtSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { "additionalProperties": false, "properties": { - "RepInterval": { - "type": "number" + "SalesforceChatterFeedIncludeFilterTypes": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Eac3Settings": { + "AWS::Kendra::DataSource.SalesforceConfiguration": { "additionalProperties": false, "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" }, - "LtRtCenterMixLevel": { - "type": "number" + "CrawlAttachments": { + "type": "boolean" }, - "LtRtSurroundMixLevel": { - "type": "number" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "MetadataControl": { - "type": "string" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "PassthroughControl": { - "type": "string" + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" }, - "PhaseControl": { + "SecretArn": { "type": "string" }, - "StereoDownmix": { + "ServerUrl": { "type": "string" }, - "SurroundExMode": { - "type": "string" + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" }, - "SurroundMode": { - "type": "string" + "StandardObjectConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" } }, + "required": [ + "SecretArn", + "ServerUrl" + ], "type": "object" }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "FillLineGap": { + "DocumentDataFieldName": { "type": "string" }, - "FontFamily": { + "DocumentTitleFieldName": { "type": "string" }, - "StyleControl": { + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { "additionalProperties": false, - "properties": {}, + "properties": { + "SalesforceCustomKnowledgeArticleTypeConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "Convert608To708": { - "type": "string" - }, - "Scte20Detection": { - "type": "string" + "CustomKnowledgeArticleTypeConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" }, - "Source608ChannelNumber": { - "type": "number" + "IncludedStates": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" }, - "Source608TrackNumber": { - "type": "number" + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" } }, + "required": [ + "IncludedStates" + ], "type": "object" }, - "AWS::MediaLive::Channel.EncoderSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { "additionalProperties": false, "properties": { - "AudioDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" - }, - "type": "array" - }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" - }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" - }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" - }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" - }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" - }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" - }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" - }, - "VideoDescriptions": { + "SalesforceKnowledgeArticleStateList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.FeatureActivations": { + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "InputPrepareScheduleActions": { + "DocumentDataFieldName": { "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.FecOutputSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { "additionalProperties": false, "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { + "DocumentTitleFieldName": { "type": "string" }, - "RowLength": { - "type": "number" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, "type": "object" }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { "additionalProperties": false, "properties": { - "AudioRenditionSets": { + "DocumentDataFieldName": { "type": "string" }, - "NielsenId3Behavior": { + "DocumentTitleFieldName": { "type": "string" }, - "TimedMetadataBehavior": { + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "SalesforceStandardObjectConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "AWS::Kendra::DataSource.ServiceNowConfiguration": { "additionalProperties": false, "properties": { - "NameModifier": { + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { "type": "string" } }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "CaptureInterval": { - "type": "number" + "CrawlAttachments": { + "type": "boolean" }, - "CaptureIntervalUnits": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.GlobalConfiguration": { + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { "additionalProperties": false, "properties": { - "InitialAudioGain": { - "type": "number" + "CrawlAttachments": { + "type": "boolean" }, - "InputEndAction": { + "DocumentDataFieldName": { "type": "string" }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { + "DocumentTitleFieldName": { "type": "string" }, - "OutputTimingSource": { - "type": "string" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "SupportLowFramerateInputs": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "AWS::Kendra::DataSource.SharePointConfiguration": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + "CrawlAttachments": { + "type": "boolean" }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + "DisableLocalGroups": { + "type": "boolean" }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "DocumentTitleFieldName": { + "type": "string" + }, + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { + "type": "string" + }, + "SharePointVersion": { + "type": "string" + }, + "Urls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UseChangeLog": { + "type": "boolean" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264FilterSettings": { + "AWS::Kendra::DataSource.SqlConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "QueryIdentifiersEnclosingOption": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.H264Settings": { + "AWS::Kendra::Faq": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Bitrate": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BufFillPct": { - "type": "number" + "Metadata": { + "type": "object" }, - "BufSize": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" }, - "ColorMetadata": { + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], "type": "string" }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" - }, - "EntropyEncoding": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "ForceFieldPictures": { - "type": "string" - }, - "FramerateControl": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopBReference": { - "type": "string" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { + "Key": { "type": "string" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::Index": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "QualityLevel": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "QvbrQualityLevel": { - "type": "number" + "Metadata": { + "type": "object" }, - "RateControlMode": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" }, - "ScanType": { + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], "type": "string" }, - "SceneChangeDetect": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Slices": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Index.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "QueryCapacityUnits": { "type": "number" }, - "Softness": { + "StorageCapacityUnits": { "type": "number" - }, - "SpatialAq": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "Syntax": { - "type": "string" - }, - "TemporalAq": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" } }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "AWS::Kendra::Index.DocumentMetadataConfiguration": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + "Name": { + "type": "string" }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "Type": { + "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265FilterSettings": { + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "GroupAttributeField": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" } }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265Settings": { + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { + "ClaimRegex": { "type": "string" }, - "FlickerAq": { + "GroupAttributeField": { "type": "string" }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { + "Issuer": { "type": "string" }, - "Level": { + "KeyLocation": { "type": "string" }, - "LookAheadRateControl": { + "SecretManagerArn": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { + "URL": { "type": "string" }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { + "UserNameAttributeField": { "type": "string" - }, - "ScanType": { + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { "type": "string" }, - "SceneChangeDetect": { - "type": "string" + "Freshness": { + "type": "boolean" }, - "Slices": { + "Importance": { "type": "number" }, - "Tier": { + "RankOrder": { "type": "string" }, - "TimecodeInsertion": { - "type": "string" + "ValueImportanceItems": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" } }, "type": "object" }, - "AWS::MediaLive::Channel.Hdr10Settings": { + "AWS::Kendra::Index.Search": { "additionalProperties": false, "properties": { - "MaxCll": { - "type": "number" + "Displayable": { + "type": "boolean" }, - "MaxFall": { - "type": "number" + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { + "KmsKeyId": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "AWS::Kendra::Index.UserTokenConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsCdnSettings": { + "AWS::Kendra::Index.ValueImportanceItem": { "additionalProperties": false, "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + "Key": { + "type": "string" }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsGroupSettings": { + "AWS::Kendra::Index.ValueImportanceItems": { "additionalProperties": false, "properties": { - "AdMarkers": { + "ValueImportanceItems": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" }, "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "BaseUrlManifest": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BaseUrlManifest1": { - "type": "string" + "Metadata": { + "type": "object" }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" + "required": [ + "ShardCount" + ], + "type": "object" }, - "ClientCache": { + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], "type": "string" }, - "CodecSpecification": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ConstantIv": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { "type": "string" }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { + "KeyId": { "type": "string" - }, - "EncryptionType": { + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IFrameOnlyPlaylists": { - "type": "string" + "Metadata": { + "type": "object" }, - "IndexNSegments": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" }, - "InputLossAction": { + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], "type": "string" }, - "IvInManifest": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IvSource": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], "type": "string" }, - "KeepSegments": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" }, - "KeyFormat": { + "RecordRowDelimiter": { "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" }, - "KeyFormatVersions": { + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" }, - "ManifestCompression": { + "RecordEncoding": { "type": "string" }, - "ManifestDurationFormat": { + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "MinSegmentLength": { - "type": "number" + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" }, - "Mode": { + "RoleARN": { "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" }, - "OutputSelection": { + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { "type": "string" }, - "ProgramDateTime": { + "Name": { "type": "string" }, - "ProgramDateTimePeriod": { - "type": "number" + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" }, - "RedundantManifest": { + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SegmentLength": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SegmentationMode": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], "type": "string" }, - "SegmentsPerSubdirectory": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" }, - "StreamInfResolution": { + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "TimedMetadataId3Frame": { + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "TimedMetadataId3Period": { - "type": "number" + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" }, - "TimestampDeltaMilliseconds": { - "type": "number" + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" }, - "TsFileMode": { + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + }, + "Name": { "type": "string" } }, + "required": [ + "DestinationSchema" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsInputSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { "additionalProperties": false, "properties": { - "Bandwidth": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "BufferSegments": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + }, + "CodeContentType": { + "type": "string" + } + }, + "required": [ + "CodeContent", + "CodeContentType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { + "additionalProperties": false, + "properties": { + "SnapshotsEnabled": { + "type": "boolean" + } + }, + "required": [ + "SnapshotsEnabled" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointInterval": { + "type": "number" + }, + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CodeContent": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { + "type": "string" + }, + "ZipFileContent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { + "additionalProperties": false, + "properties": { + "PropertyGroups": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" + }, + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "MetricsLevel": { + "type": "string" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "Parallelism": { + "type": "number" + }, + "ParallelismPerKPU": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "additionalProperties": false, + "properties": { + "PropertyGroupId": { + "type": "string" + }, + "PropertyMap": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "LogStreamARN": { + "type": "string" + } + }, + "required": [ + "LogStreamARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, + "DeliveryStreamName": { + "type": "string" + }, + "DeliveryStreamType": { + "type": "string" + }, + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" + }, + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" + }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" + }, + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisFirehose::DeliveryStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "additionalProperties": false, + "properties": { + "CopyOptions": { + "type": "string" + }, + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" + } + }, + "required": [ + "DataTableName" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + }, + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + }, + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "additionalProperties": false, + "properties": { + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + }, + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "type": "string" + }, + "DomainARN": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "IndexRotationPeriod": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "TypeName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" + } + }, + "required": [ + "IndexName", + "RoleARN", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "additionalProperties": false, + "properties": { + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "additionalProperties": false, + "properties": { + "AWSKMSKeyARN": { + "type": "string" + } + }, + "required": [ + "AWSKMSKeyARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "KinesisStreamARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "additionalProperties": false, + "properties": { + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "BloomFilterColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BloomFilterFalsePositiveProbability": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { + "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "EnableDictionaryCompression": { + "type": "boolean" + }, + "MaxPaddingBytes": { + "type": "number" + }, + "PageSizeBytes": { + "type": "number" + }, + "WriterVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Processors": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Processor": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterJDBCURL": { + "type": "string" + }, + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "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" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { + "type": "number" + }, + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { + "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "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": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::DataLakeSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsWithGrantOption": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" + } + }, + "required": [ + "DataLakePrincipal", + "Resource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Permissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "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" + }, + "AWS::LakeFormation::Permissions.TableResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseServiceLinkedRole": { + "type": "boolean" + } + }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "FunctionName": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" + } + }, + "required": [ + "FunctionName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" + }, + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AllowedPublishers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::CodeSigningConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + }, + "FunctionName": { + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "Qualifier": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventInvokeConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionResponseTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "PartialBatchResponse": { + "type": "boolean" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventSourceMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" + } + }, + "required": [ + "Code", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Function.Code": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, + "AWS::Lambda::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion.Content": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersionPermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "LayerVersionArn": { + "type": "string" + }, + "OrganizationId": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Action", + "LayerVersionArn", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersionPermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Permission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "EventSourceToken": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "Action", + "FunctionName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { + "type": "string" + }, + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::Grant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LicenseManager::License": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Beneficiary": { + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "type": "array" + }, + "HomeRegion": { + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "type": "array" + }, + "LicenseName": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProductSKU": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" + } + }, + "required": [ + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Overage": { + "type": "boolean" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SignKey": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "type": "string" + }, + "End": { + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::Logs::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationName": { + "type": "string" + }, + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::LogGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RetentionInDays": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Logs::LogStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MetricTransformations": { + "items": { + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + }, + "type": "array" + } + }, + "required": [ + "FilterPattern", + "LogGroupName", + "MetricTransformations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::MetricFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter.MetricTransformation": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricValue": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], + "type": "object" + }, + "AWS::Logs::SubscriptionFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutVision::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutVision::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::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": { + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" + }, + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { + "type": "string" + }, + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { + "type": "string" + }, + "KafkaVersion": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MSK::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "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": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "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.Sasl": { + "additionalProperties": false, + "properties": { + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "required": [ + "Scram" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AirflowConfigurationOptions": { + "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" + }, + "AirflowVersion": { + "type": "string" + }, + "DagS3Path": { + "type": "string" + }, + "EnvironmentClass": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" + }, + "MaxWorkers": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { + "type": "string" + }, + "PluginsS3Path": { + "type": "string" + }, + "RequirementsS3ObjectVersion": { + "type": "string" + }, + "RequirementsS3Path": { + "type": "string" + }, + "SourceBucketArn": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" + }, + "WebserverAccessMode": { + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MWAA::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MWAA::Environment.AirflowConfigurationOptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "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::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InvitationId": { + "type": "string" + }, + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" + }, + "NetworkId": { + "type": "string" + } + }, + "required": [ + "MemberConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MemberId": { + "type": "string" + }, + "NetworkId": { + "type": "string" + }, + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + } + }, + "required": [ + "NetworkId", + "NodeConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Node" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" + }, + "EntitlementStatus": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Description", + "FlowArn", + "Name", + "Subscribers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowEntitlement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Destination": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" + }, + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "required": [ + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowVpcInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowVpcInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::JobTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "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": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Preset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" + }, + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" + }, + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel.AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Ac3Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AribDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" + }, + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" + }, + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" + }, + "type": "array" + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailSettings": { + "additionalProperties": false, + "properties": { + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDescription": { + "additionalProperties": false, + "properties": { + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" + }, + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" + }, + "type": "array" + }, + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "number" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "number" + }, + "CaptureIntervalUnits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "number" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufFillPct": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "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::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "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.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "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::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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" + }, + { + "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" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::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" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "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::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "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" + }, + { + "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" + } + }, + "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" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::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": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::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" }, - "Retries": { - "type": "number" + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" }, - "RetryInterval": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "AWS::Pinpoint::App": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NumRetries": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" + "Metadata": { + "type": "object" }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "NameModifier": { + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], "type": "string" }, - "SegmentModifier": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsSettings": { + "AWS::Pinpoint::ApplicationSettings": { "additionalProperties": false, "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" + "Metadata": { + "type": "object" }, - "FilecacheDuration": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" }, - "HttpTransferMode": { + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputAttachment": { + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { "additionalProperties": false, "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { + "LambdaFunctionName": { "type": "string" }, - "InputId": { + "Mode": { "type": "string" }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + "WebUrl": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.InputChannelLevel": { + "AWS::Pinpoint::ApplicationSettings.Limits": { "additionalProperties": false, "properties": { - "Gain": { + "Daily": { "type": "number" }, - "InputChannel": { + "MaximumDuration": { "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLocation": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" }, - "Uri": { - "type": "string" + "MessagesPerSecond": { + "type": "number" }, - "Username": { - "type": "string" + "Total": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.InputLossBehavior": { + "AWS::Pinpoint::ApplicationSettings.QuietTime": { "additionalProperties": false, "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { + "End": { "type": "string" }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "InputLossImageType": { + "Start": { "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" } }, + "required": [ + "End", + "Start" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSettings": { + "AWS::Pinpoint::BaiduChannel": { "additionalProperties": false, "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FilterStrength": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InputFilter": { - "type": "string" + "Metadata": { + "type": "object" }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" }, - "Smpte2038DataPreference": { + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], "type": "string" }, - "SourceEndBehavior": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSpecification": { + "AWS::Pinpoint::Campaign": { "additionalProperties": false, "properties": { - "Codec": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MaximumBitrate": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], "type": "string" }, - "Resolution": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.KeyProviderSettings": { - "additionalProperties": false, - "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M2tsSettings": { + "AWS::Pinpoint::Campaign.AttributeDimension": { "additionalProperties": false, "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { - "type": "string" - }, - "AribCaptionsPid": { - "type": "string" - }, - "AribCaptionsPidControl": { - "type": "string" - }, - "AudioBufferModel": { - "type": "string" - }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "AudioStreamType": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { + "AttributeType": { "type": "string" }, - "FragmentTime": { - "type": "number" - }, - "Klv": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { "type": "string" }, - "KlvDataPids": { + "FromAddress": { "type": "string" }, - "NielsenId3Behavior": { + "HtmlBody": { "type": "string" }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { + "Title": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { + "FilterType": { "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { "type": "string" }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { + "Mode": { "type": "string" }, - "Scte27Pids": { + "WebUrl": { "type": "string" - }, - "Scte35Control": { + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { "type": "string" }, - "Scte35Pid": { + "EntityId": { "type": "string" }, - "SegmentationMarkers": { + "MessageType": { "type": "string" }, - "SegmentationStyle": { + "OriginationNumber": { "type": "string" }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { + "SenderId": { "type": "string" }, - "TimedMetadataPid": { + "TemplateId": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" }, - "TransportStreamId": { - "type": "number" + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" }, - "VideoPid": { - "type": "string" + "Metrics": { + "type": "object" } }, "type": "object" }, - "AWS::MediaLive::Channel.M3u8Settings": { + "AWS::Pinpoint::Campaign.Limits": { "additionalProperties": false, "properties": { - "AudioFramesPerPes": { + "Daily": { "type": "number" }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { + "MaximumDuration": { "type": "number" }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { + "MessagesPerSecond": { "type": "number" }, - "PcrPid": { + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { "type": "string" }, - "PmtInterval": { - "type": "number" + "Body": { + "type": "string" }, - "PmtPid": { + "ImageIconUrl": { "type": "string" }, - "ProgramNum": { - "type": "number" + "ImageSmallIconUrl": { + "type": "string" }, - "Scte35Behavior": { + "ImageUrl": { "type": "string" }, - "Scte35Pid": { + "JsonBody": { "type": "string" }, - "TimedMetadataBehavior": { + "MediaUrl": { "type": "string" }, - "TimedMetadataPid": { + "RawContent": { "type": "string" }, - "TransportStreamId": { + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { "type": "number" }, - "VideoPid": { + "Title": { + "type": "string" + }, + "Url": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "AWS::Pinpoint::Campaign.MessageConfiguration": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" } }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "AWS::Pinpoint::Campaign.MetricDimension": { "additionalProperties": false, "properties": { - "ChannelId": { + "ComparisonOperator": { "type": "string" + }, + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Mp2Settings": { + "AWS::Pinpoint::Campaign.QuietTime": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { + "End": { "type": "string" }, - "SampleRate": { - "type": "number" + "Start": { + "type": "string" } }, + "required": [ + "End", + "Start" + ], "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "AWS::Pinpoint::Campaign.Schedule": { "additionalProperties": false, "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "EventId": { - "type": "string" - }, - "EventIdMode": { - "type": "string" - }, - "EventStopBehavior": { - "type": "string" - }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { + "EndTime": { "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" }, - "SegmentationMode": { + "Frequency": { "type": "string" }, - "SendDelayMs": { - "type": "number" - }, - "SparseTrackType": { - "type": "string" + "IsLocalTime": { + "type": "boolean" }, - "StreamManifestBehavior": { - "type": "string" + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" }, - "TimestampOffset": { + "StartTime": { "type": "string" }, - "TimestampOffsetMode": { + "TimeZone": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "AWS::Pinpoint::Campaign.SetDimension": { "additionalProperties": false, "properties": { - "H265PackagingType": { + "DimensionType": { "type": "string" }, - "NameModifier": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "AWS::Pinpoint::EmailChannel": { "additionalProperties": false, "properties": { - "MultiplexId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ProgramName": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.NetworkInputSettings": { + "AWS::Pinpoint::EmailTemplate": { "additionalProperties": false, "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ServerValidation": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.NielsenConfiguration": { + "AWS::Pinpoint::EventStream": { "additionalProperties": false, "properties": { - "DistributorId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NielsenPcmToId3Tagging": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.Output": { + "AWS::Pinpoint::GCMChannel": { "additionalProperties": false, "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CaptionDescriptionNames": { - "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": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } }, - "type": "array" + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" }, - "OutputName": { + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], "type": "string" }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputDestination": { + "AWS::Pinpoint::PushTemplate": { "additionalProperties": false, "properties": { - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + "Metadata": { + "type": "object" }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + "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" + } }, - "type": "array" + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { "additionalProperties": false, "properties": { - "PasswordParam": { + "Action": { "type": "string" }, - "StreamName": { + "Body": { "type": "string" }, - "Url": { + "MediaUrl": { "type": "string" }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { + "Sound": { "type": "string" }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + "Title": { + "type": "string" }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" + "Url": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputGroupSettings": { + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { "additionalProperties": false, "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + "Action": { + "type": "string" }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + "Body": { + "type": "string" }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + "ImageIconUrl": { + "type": "string" }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + "ImageUrl": { + "type": "string" }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + "SmallImageIconUrl": { + "type": "string" }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + "Sound": { + "type": "string" }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + "Title": { + "type": "string" }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputLocationRef": { - "additionalProperties": false, - "properties": { - "DestinationRefId": { + "Url": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputSettings": { + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { "additionalProperties": false, "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + "Action": { + "type": "string" }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + "Body": { + "type": "string" }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { - "additionalProperties": false, - "properties": { - "ChannelMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" - }, - "type": "array" + "Sound": { + "type": "string" }, - "ChannelsIn": { - "type": "number" + "Title": { + "type": "string" }, - "ChannelsOut": { - "type": "number" + "Url": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { + "AWS::Pinpoint::SMSChannel": { "additionalProperties": false, "properties": { - "AuthenticationScheme": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "CacheFullBehavior": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CacheLength": { - "type": "number" + "Metadata": { + "type": "object" }, - "CaptionData": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" }, - "InputLossAction": { + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], "type": "string" }, - "RestartDelay": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { + "AWS::Pinpoint::Segment": { "additionalProperties": false, "properties": { - "CertificateMode": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConnectionRetryInterval": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "Metadata": { + "type": "object" }, - "NumRetries": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { + "AWS::Pinpoint::Segment.AttributeDimension": { "additionalProperties": false, "properties": { - "Convert608To708": { + "AttributeType": { "type": "string" }, - "Source608ChannelNumber": { - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { + "AWS::Pinpoint::Segment.Behavior": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "AWS::Pinpoint::Segment.Coordinates": { "additionalProperties": false, "properties": { - "AdAvailOffset": { + "Latitude": { "type": "number" }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" + "Longitude": { + "type": "number" } }, + "required": [ + "Latitude", + "Longitude" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "AWS::Pinpoint::Segment.Demographic": { "additionalProperties": false, "properties": { - "AdAvailOffset": { - "type": "number" + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" }, - "NoRegionalBlackoutFlag": { - "type": "string" + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" }, - "WebDeliveryAllowedFlag": { - "type": "string" + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" } }, "type": "object" }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { + "AWS::Pinpoint::Segment.GPSPoint": { "additionalProperties": false, "properties": { - "AudioRenditionSets": { - "type": "string" + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + "RangeInKilometers": { + "type": "number" } }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], "type": "object" }, - "AWS::MediaLive::Channel.StaticKeySettings": { + "AWS::Pinpoint::Segment.Groups": { "additionalProperties": false, "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" }, - "StaticKeyValue": { + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { + "AWS::Pinpoint::Segment.Location": { "additionalProperties": false, "properties": { - "PageNumber": { - "type": "string" + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" } }, "type": "object" }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { + "AWS::Pinpoint::Segment.Recency": { "additionalProperties": false, "properties": { - "PostFilterSharpening": { + "Duration": { "type": "string" }, - "Strength": { + "RecencyType": { "type": "string" } }, + "required": [ + "Duration", + "RecencyType" + ], "type": "object" }, - "AWS::MediaLive::Channel.TimecodeConfig": { + "AWS::Pinpoint::Segment.SegmentDimensions": { "additionalProperties": false, "properties": { - "Source": { - "type": "string" + "Attributes": { + "type": "object" }, - "SyncThreshold": { - "type": "number" + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" } }, "type": "object" }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "AWS::Pinpoint::Segment.SegmentGroups": { "additionalProperties": false, "properties": { - "StyleControl": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.UdpContainerSettings": { + "AWS::Pinpoint::Segment.SetDimension": { "additionalProperties": false, "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.UdpGroupSettings": { + "AWS::Pinpoint::Segment.SourceSegments": { "additionalProperties": false, "properties": { - "InputLossAction": { - "type": "string" - }, - "TimedMetadataId3Frame": { + "Id": { "type": "string" }, - "TimedMetadataId3Period": { + "Version": { "type": "number" } }, + "required": [ + "Id" + ], "type": "object" }, - "AWS::MediaLive::Channel.UdpOutputSettings": { + "AWS::Pinpoint::SmsTemplate": { "additionalProperties": false, "properties": { - "BufferMsec": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "Metadata": { + "type": "object" }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoCodecSettings": { + "AWS::Pinpoint::VoiceChannel": { "additionalProperties": false, "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoDescription": { + "AWS::PinpointEmail::ConfigurationSet": { "additionalProperties": false, "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Height": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "RespondToAfd": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "ScalingBehavior": { + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], "type": "string" }, - "Sharpness": { - "type": "number" - }, - "Width": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelector": { + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { "additionalProperties": false, "properties": { - "ColorSpace": { - "type": "string" - }, - "ColorSpaceUsage": { + "SendingPoolName": { "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorPid": { + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "ReputationMetricsEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { "additionalProperties": false, "properties": { - "ProgramId": { - "type": "number" + "SendingEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { + "AWS::PinpointEmail::ConfigurationSet.Tags": { "additionalProperties": false, "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + "Key": { + "type": "string" }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + "Value": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { "additionalProperties": false, - "properties": {}, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, "type": "object" }, - "AWS::MediaLive::Input": { + "AWS::PinpointEmail::ConfigurationSetEventDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58944,57 +77187,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "type": "array" - }, - "InputSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RoleArn": { + "ConfigurationSetName": { "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" - }, - "Tags": { - "type": "object" + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" }, - "Type": { + "EventDestinationName": { "type": "string" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" } }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "type": "string" }, @@ -59008,80 +77219,111 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { "additionalProperties": false, "properties": { - "StreamName": { - "type": "string" + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Input.InputDeviceRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { "additionalProperties": false, "properties": { - "Id": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { "type": "string" } }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], "type": "object" }, - "AWS::MediaLive::Input.InputDeviceSettings": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" } }, + "required": [ + "MatchingEventTypes" + ], "type": "object" }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { "additionalProperties": false, "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { + "DeliveryStreamArn": { "type": "string" }, - "Username": { + "IamRoleArn": { "type": "string" } }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { "additionalProperties": false, "properties": { - "FlowArn": { + "TopicArn": { "type": "string" } }, + "required": [ + "TopicArn" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::PinpointEmail::DedicatedIpPool": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59113,12 +77355,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "PoolName": { + "type": "string" }, - "WhitelistRules": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" }, "type": "array" } @@ -59127,7 +77369,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::PinpointEmail::DedicatedIpPool" ], "type": "string" }, @@ -59145,16 +77387,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "AWS::PinpointEmail::DedicatedIpPool.Tags": { "additionalProperties": false, "properties": { - "Cidr": { + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::Asset": { + "AWS::PinpointEmail::Identity": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59186,45 +77431,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EgressEndpoints": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" + "DkimSigningEnabled": { + "type": "boolean" }, - "ResourceId": { - "type": "string" + "FeedbackForwardingEnabled": { + "type": "boolean" }, - "SourceArn": { - "type": "string" + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" }, - "SourceRoleArn": { + "Name": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" }, "type": "array" } }, "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::Asset" + "AWS::PinpointEmail::Identity" ], "type": "string" }, @@ -59243,23 +77476,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaPackage::Asset.EgressEndpoint": { + "AWS::PinpointEmail::Identity.MailFromAttributes": { "additionalProperties": false, "properties": { - "PackagingConfigurationId": { + "BehaviorOnMxFailure": { "type": "string" }, - "Url": { + "MailFromDomain": { "type": "string" } }, - "required": [ - "PackagingConfigurationId", - "Url" - ], "type": "object" }, - "AWS::MediaPackage::Channel": { + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59291,10 +77532,13 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "DeletionProtection": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "Id": { + "PermissionsMode": { "type": "string" }, "Tags": { @@ -59305,13 +77549,13 @@ var SamSchema = `{ } }, "required": [ - "Id" + "PermissionsMode" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::Channel" + "AWS::QLDB::Ledger" ], "type": "string" }, @@ -59330,37 +77574,106 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaPackage::Channel.HlsIngest": { + "AWS::QLDB::Stream": { "additionalProperties": false, "properties": { - "ingestEndpoints": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaPackage::Channel.IngestEndpoint": { + "AWS::QLDB::Stream.KinesisConfiguration": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Url": { - "type": "string" + "AggregationEnabled": { + "type": "boolean" }, - "Username": { + "StreamArn": { "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint": { + "AWS::QuickSight::Analysis": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59392,64 +77705,52 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" - }, - "ChannelId": { - "type": "string" - }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { - "type": "string" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" - }, - "Id": { + "AnalysisId": { "type": "string" }, - "ManifestName": { + "AwsAccountId": { "type": "string" }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" }, - "Origination": { + "Name": { "type": "string" }, - "StartoverWindowSeconds": { - "type": "number" + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" }, - "Tags": { + "Permissions": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" }, "type": "array" }, - "TimeDelaySeconds": { - "type": "number" + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" }, - "Whitelist": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThemeArn": { + "type": "string" } }, "required": [ - "ChannelId", - "Id" + "AnalysisId", + "AwsAccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::OriginEndpoint" + "AWS::QuickSight::Analysis" ], "type": "string" }, @@ -59468,311 +77769,200 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { + "AWS::QuickSight::Analysis.AnalysisError": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { + "Message": { "type": "string" }, - "SecretsRoleArn": { + "Type": { "type": "string" } }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + "Arn": { + "type": "string" }, - "HlsManifests": { + "DataSetReferences": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentPrefix": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" } }, + "required": [ + "Arn", + "DataSetReferences" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "AWS::QuickSight::Analysis.DataSetReference": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" + "DataSetArn": { + "type": "string" }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "DataSetPlaceholder": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "DataSetArn", + "DataSetPlaceholder" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "AWS::QuickSight::Analysis.DateTimeParameter": { "additionalProperties": false, "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { + "Name": { "type": "string" }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { + "Values": { "items": { "type": "string" }, "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" } }, + "required": [ + "Name", + "Values" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "AWS::QuickSight::Analysis.DecimalParameter": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { + "Name": { "type": "string" }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, "required": [ - "SpekeKeyProvider" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "AWS::QuickSight::Analysis.IntegerParameter": { "additionalProperties": false, "properties": { - "AdMarkers": { + "Name": { "type": "string" }, - "AdTriggers": { + "Values": { "items": { - "type": "string" + "type": "number" }, "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "Url": { - "type": "string" } }, "required": [ - "Id" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "AWS::QuickSight::Analysis.Parameters": { "additionalProperties": false, "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { + "DateTimeParameters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" }, "type": "array" }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" }, - "UseAudioRenditionGroup": { - "type": "boolean" + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "AWS::QuickSight::Analysis.ResourcePermission": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "Actions", + "Principal" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "AWS::QuickSight::Analysis.Sheet": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" + "Name": { + "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "SheetId": { + "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "AWS::QuickSight::Analysis.StringParameter": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { + "Name": { "type": "string" }, - "SystemIds": { + "Values": { "items": { "type": "string" }, "type": "array" - }, - "Url": { - "type": "string" } }, "required": [ - "ResourceId", - "RoleArn", - "SystemIds", - "Url" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { + "AWS::QuickSight::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59804,40 +77994,52 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + "AwsAccountId": { + "type": "string" }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + "DashboardId": { + "type": "string" }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" }, - "Id": { + "Name": { "type": "string" }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" }, - "PackagingGroupId": { - "type": "string" + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" } }, "required": [ - "Id", - "PackagingGroupId" + "AwsAccountId", + "DashboardId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::PackagingConfiguration" + "AWS::QuickSight::Dashboard" ], "type": "string" }, @@ -59856,252 +78058,218 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "AvailabilityStatus": { + "type": "string" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" }, - "SegmentDurationSeconds": { - "type": "number" + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" } }, - "required": [ - "HlsManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { "additionalProperties": false, "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { + "Arn": { "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" - }, - "type": "array" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" - }, - "PeriodTriggers": { + "DataSetReferences": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" } }, "required": [ - "DashManifests" + "Arn", + "DataSetReferences" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "AWS::QuickSight::Dashboard.DataSetReference": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { + "DataSetArn": { "type": "string" }, - "EncryptionMethod": { + "DataSetPlaceholder": { "type": "string" - }, - "SpekeKeyProvider": { - "type": "object" } }, "required": [ - "SpekeKeyProvider" + "DataSetArn", + "DataSetPlaceholder" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "AWS::QuickSight::Dashboard.DateTimeParameter": { "additionalProperties": false, "properties": { - "AdMarkers": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { + "Name": { "type": "string" }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Name", + "Values" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "AWS::QuickSight::Dashboard.DecimalParameter": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + "Name": { + "type": "string" }, - "HlsManifests": { + "Values": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + "type": "number" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" } }, "required": [ - "HlsManifests" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "AWS::QuickSight::Dashboard.ExportToCSVOption": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "AvailabilityStatus": { + "type": "string" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "AWS::QuickSight::Dashboard.IntegerParameter": { "additionalProperties": false, "properties": { - "ManifestName": { + "Name": { "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, + "required": [ + "Name", + "Values" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "AWS::QuickSight::Dashboard.Parameters": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" }, - "MssManifests": { + "DecimalParameters": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" }, "type": "array" }, - "SegmentDurationSeconds": { - "type": "number" + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" } }, - "required": [ - "MssManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "AWS::QuickSight::Dashboard.ResourcePermission": { "additionalProperties": false, "properties": { - "RoleArn": { - "type": "string" - }, - "SystemIds": { + "Actions": { "items": { "type": "string" }, "type": "array" }, - "Url": { + "Principal": { "type": "string" } }, "required": [ - "RoleArn", - "SystemIds", - "Url" + "Actions", + "Principal" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "AWS::QuickSight::Dashboard.SheetControlsOption": { "additionalProperties": false, "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { + "VisibilityState": { "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::PackagingGroup": { + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60133,27 +78301,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + "AwsAccountId": { + "type": "string" }, - "Id": { + "Name": { "type": "string" }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" } }, "required": [ - "Id" + "AwsAccountId", + "TemplateId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::PackagingGroup" + "AWS::QuickSight::Template" ], "type": "string" }, @@ -60172,23 +78356,85 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaPackage::PackagingGroup.Authorization": { + "AWS::QuickSight::Template.DataSetReference": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { + "DataSetArn": { "type": "string" }, - "SecretsRoleArn": { + "DataSetPlaceholder": { "type": "string" } }, "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" + "DataSetArn", + "DataSetPlaceholder" ], "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60220,42 +78466,46 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { + "AwsAccountId": { "type": "string" }, - "CorsPolicy": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" - }, - "type": "array" - }, - "LifecyclePolicy": { + "BaseThemeId": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" }, - "Policy": { + "Name": { "type": "string" }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" } }, "required": [ - "ContainerName" + "AwsAccountId", + "ThemeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::QuickSight::Theme" ], "type": "string" }, @@ -60274,74 +78524,283 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::QuickSight::Theme.BorderStyle": { "additionalProperties": false, "properties": { - "AllowedHeaders": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { "items": { "type": "string" }, "type": "array" }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "EmptyFillColor": { + "type": "string" }, - "AllowedOrigins": { + "MinMaxGradient": { "items": { "type": "string" }, "type": "array" - }, - "ExposeHeaders": { + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { "items": { "type": "string" }, "type": "array" }, - "MaxAgeSeconds": { - "type": "number" + "Principal": { + "type": "string" } }, + "required": [ + "Actions", + "Principal" + ], "type": "object" }, - "AWS::MediaStore::Container.MetricPolicy": { + "AWS::QuickSight::Theme.SheetStyle": { "additionalProperties": false, "properties": { - "ContainerLevelMetrics": { - "type": "string" + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" }, - "MetricPolicyRules": { + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" }, "type": "array" } }, - "required": [ - "ContainerLevelMetrics" - ], "type": "object" }, - "AWS::MediaStore::Container.MetricPolicyRule": { + "AWS::QuickSight::Theme.UIColorPalette": { "additionalProperties": false, "properties": { - "ObjectGroup": { + "Accent": { "type": "string" }, - "ObjectGroupName": { + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ObjectGroup", - "ObjectGroupName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60375,7 +78834,7 @@ var SamSchema = `{ "properties": { "AssociatedRoles": { "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" }, "type": "array" }, @@ -60385,6 +78844,9 @@ var SamSchema = `{ }, "type": "array" }, + "BacktrackWindow": { + "type": "number" + }, "BackupRetentionPeriod": { "type": "number" }, @@ -60397,6 +78859,9 @@ var SamSchema = `{ "DBSubnetGroupName": { "type": "string" }, + "DatabaseName": { + "type": "string" + }, "DeletionProtection": { "type": "boolean" }, @@ -60406,15 +78871,33 @@ var SamSchema = `{ }, "type": "array" }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, "EngineVersion": { "type": "string" }, - "IamAuthEnabled": { - "type": "boolean" + "GlobalClusterIdentifier": { + "type": "string" }, "KmsKeyId": { "type": "string" }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, "Port": { "type": "number" }, @@ -60424,18 +78907,24 @@ var SamSchema = `{ "PreferredMaintenanceWindow": { "type": "string" }, - "RestoreToTime": { + "ReplicationSourceIdentifier": { "type": "string" }, "RestoreType": { "type": "string" }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, "SnapshotIdentifier": { "type": "string" }, "SourceDBClusterIdentifier": { "type": "string" }, + "SourceRegion": { + "type": "string" + }, "StorageEncrypted": { "type": "boolean" }, @@ -60455,11 +78944,14 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "Engine" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::RDS::DBCluster" ], "type": "string" }, @@ -60473,11 +78965,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::RDS::DBCluster.DBClusterRole": { "additionalProperties": false, "properties": { "FeatureName": { @@ -60492,7 +78985,25 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60530,9 +79041,6 @@ var SamSchema = `{ "Family": { "type": "string" }, - "Name": { - "type": "string" - }, "Parameters": { "type": "object" }, @@ -60552,7 +79060,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::RDS::DBClusterParameterGroup" ], "type": "string" }, @@ -60571,7 +79079,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::RDS::DBInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60603,15 +79111,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AllocatedStorage": { + "type": "string" + }, "AllowMajorVersionUpgrade": { "type": "boolean" }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, "AutoMinorVersionUpgrade": { "type": "boolean" }, "AvailabilityZone": { "type": "string" }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -60621,329 +79150,121 @@ var SamSchema = `{ "DBInstanceIdentifier": { "type": "string" }, + "DBName": { + "type": "string" + }, "DBParameterGroupName": { "type": "string" }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "DBSnapshotIdentifier": { "type": "string" }, "DBSubnetGroupName": { "type": "string" }, - "PreferredMaintenanceWindow": { + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainIAMRoleName": { "type": "string" }, - { + "EnableCloudwatchLogsExports": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" }, - "Family": { + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { "type": "string" }, - "Name": { + "EngineVersion": { "type": "string" }, - "Parameters": { - "type": "object" + "Iops": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "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::Neptune::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "KmsKeyId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { + "LicenseModel": { "type": "string" }, - "DBSubnetGroupName": { + "MasterUserPassword": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "MasterUsername": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::CustomerGatewayAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayArn": { + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { "type": "string" }, - "DeviceId": { + "PerformanceInsightsKMSKeyId": { "type": "string" }, - "GlobalNetworkId": { + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { "type": "string" }, - "LinkId": { + "PreferredBackupWindow": { "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::NetworkManager::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "PreferredMaintenanceWindow": { "type": "string" }, - { + "ProcessorFeatures": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" }, - "GlobalNetworkId": { - "type": "string" + "PromotionTier": { + "type": "number" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + "PubliclyAccessible": { + "type": "boolean" }, - "Model": { + "SourceDBInstanceIdentifier": { "type": "string" }, - "SerialNumber": { + "SourceRegion": { "type": "string" }, - "SiteId": { + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { "type": "string" }, "Tags": { @@ -60952,21 +79273,27 @@ var SamSchema = `{ }, "type": "array" }, - "Type": { + "Timezone": { "type": "string" }, - "Vendor": { - "type": "string" + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "GlobalNetworkId" + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Device" + "AWS::RDS::DBInstance" ], "type": "string" }, @@ -60985,22 +79312,35 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Device.Location": { + "AWS::RDS::DBInstance.DBInstanceRole": { "additionalProperties": false, "properties": { - "Address": { + "FeatureName": { "type": "string" }, - "Latitude": { + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "Longitude": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::GlobalNetwork": { + "AWS::RDS::DBParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61035,6 +79375,18 @@ var SamSchema = `{ "Description": { "type": "string" }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -61042,11 +79394,15 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "Description", + "Family" + ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::GlobalNetwork" + "AWS::RDS::DBParameterGroup" ], "type": "string" }, @@ -61060,11 +79416,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::NetworkManager::Link": { + "AWS::RDS::DBProxy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61096,41 +79453,61 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" }, - "Description": { + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { "type": "string" }, - "GlobalNetworkId": { - "type": "string" + "IdleClientTimeout": { + "type": "number" }, - "Provider": { - "type": "string" + "RequireTLS": { + "type": "boolean" }, - "SiteId": { + "RoleArn": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" }, "type": "array" }, - "Type": { - "type": "string" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Link" + "AWS::RDS::DBProxy" ], "type": "string" }, @@ -61149,19 +79526,40 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Link.Bandwidth": { + "AWS::RDS::DBProxy.AuthFormat": { "additionalProperties": false, "properties": { - "DownloadSpeed": { - "type": "number" + "AuthScheme": { + "type": "string" }, - "UploadSpeed": { - "type": "number" + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::LinkAssociation": { + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61193,26 +79591,37 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { - "type": "string" + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" }, - "GlobalNetworkId": { + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { "type": "string" }, - "LinkId": { + "TargetGroupName": { "type": "string" } }, "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::LinkAssociation" + "AWS::RDS::DBProxyTargetGroup" ], "type": "string" }, @@ -61231,7 +79640,31 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Site": { + "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": { "DeletionPolicy": { @@ -61263,14 +79696,17 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" }, - "GlobalNetworkId": { + "EC2VpcId": { "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + "GroupDescription": { + "type": "string" }, "Tags": { "items": { @@ -61280,13 +79716,14 @@ var SamSchema = `{ } }, "required": [ - "GlobalNetworkId" + "DBSecurityGroupIngress", + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Site" + "AWS::RDS::DBSecurityGroup" ], "type": "string" }, @@ -61305,22 +79742,25 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::NetworkManager::Site.Location": { + "AWS::RDS::DBSecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "Address": { + "CIDRIP": { "type": "string" }, - "Latitude": { + "EC2SecurityGroupId": { "type": "string" }, - "Longitude": { + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::TransitGatewayRegistration": { + "AWS::RDS::DBSecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61352,22 +79792,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GlobalNetworkId": { + "CIDRIP": { "type": "string" }, - "TransitGatewayArn": { + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { "type": "string" } }, "required": [ - "GlobalNetworkId", - "TransitGatewayArn" + "DBSecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" + "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" }, @@ -61386,7 +79834,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::App": { + "AWS::RDS::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61418,68 +79866,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DataSources": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" - }, - "type": "array" + "DBSubnetGroupDescription": { + "type": "string" }, - "Description": { + "DBSubnetGroupName": { "type": "string" }, - "Domains": { + "SubnetIds": { "items": { "type": "string" }, "type": "array" }, - "EnableSsl": { - "type": "boolean" - }, - "Environment": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Name": { - "type": "string" - }, - "Shortname": { - "type": "string" - }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { - "type": "string" - }, - "Type": { - "type": "string" } }, "required": [ - "Name", - "StackId", - "Type" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::App" + "AWS::RDS::DBSubnetGroup" ], "type": "string" }, @@ -61498,80 +79912,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::App.DataSource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Secure": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::OpsWorks::App.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.SslConfiguration": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "AWS::RDS::EventSubscription": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61603,22 +79944,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ElasticLoadBalancerName": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { "type": "string" }, - "LayerId": { + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { "type": "string" } }, "required": [ - "ElasticLoadBalancerName", - "LayerId" + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" + "AWS::RDS::EventSubscription" ], "type": "string" }, @@ -61637,7 +79992,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Instance": { + "AWS::RDS::GlobalCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61669,92 +80024,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { + "DeletionProtection": { "type": "boolean" }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { + "Engine": { "type": "string" }, - "SubnetId": { + "EngineVersion": { "type": "string" }, - "Tenancy": { + "GlobalClusterIdentifier": { "type": "string" }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { + "SourceDBClusterIdentifier": { "type": "string" }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" + "StorageEncrypted": { + "type": "boolean" } }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Instance" + "AWS::RDS::GlobalCluster" ], "type": "string" }, @@ -61768,120 +80061,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, + "Type" + ], "type": "object" }, - "AWS::OpsWorks::Layer": { + "AWS::RDS::OptionGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61913,61 +80097,19 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { + "EngineName": { "type": "string" }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { + "MajorEngineVersion": { "type": "string" }, - "Packages": { + "OptionConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" }, "type": "array" }, - "Shortname": { - "type": "string" - }, - "StackId": { + "OptionGroupDescription": { "type": "string" }, "Tags": { @@ -61975,34 +80117,19 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Type": { - "type": "string" - }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" - }, - "type": "array" } }, "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Layer" + "AWS::RDS::OptionGroup" ], "type": "string" }, @@ -62021,130 +80148,55 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { + "AWS::RDS::OptionGroup.OptionConfiguration": { "additionalProperties": false, "properties": { - "Configure": { + "DBSecurityGroupMemberships": { "items": { "type": "string" }, "type": "array" }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" + "OptionName": { + "type": "string" }, - "Setup": { + "OptionSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" }, "type": "array" }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" + "OptionVersion": { + "type": "string" }, - "Undeploy": { + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { "items": { "type": "string" }, "type": "array" } }, + "required": [ + "OptionName" + ], "type": "object" }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { + "AWS::RDS::OptionGroup.OptionSetting": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "MountPoint": { + "Name": { "type": "string" }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" - }, - "VolumeType": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::OpsWorks::Stack": { + "AWS::Redshift::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62176,82 +80228,91 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { "type": "string" }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ClusterIdentifier": { + "type": "string" }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + "ClusterParameterGroupName": { + "type": "string" }, - "CloneAppIds": { + "ClusterSecurityGroups": { "items": { "type": "string" }, "type": "array" }, - "ClonePermissions": { - "type": "boolean" + "ClusterSubnetGroupName": { + "type": "string" }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + "ClusterType": { + "type": "string" }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + "ClusterVersion": { + "type": "string" }, - "CustomJson": { - "type": "object" + "DBName": { + "type": "string" }, - "DefaultAvailabilityZone": { + "ElasticIp": { "type": "string" }, - "DefaultInstanceProfileArn": { + "Encrypted": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { "type": "string" }, - "DefaultOs": { + "HsmConfigurationIdentifier": { "type": "string" }, - "DefaultRootDeviceType": { + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { "type": "string" }, - "DefaultSshKeyName": { + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { "type": "string" }, - "DefaultSubnetId": { + "MasterUsername": { "type": "string" }, - "EcsClusterArn": { + "NodeType": { "type": "string" }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" + "NumberOfNodes": { + "type": "number" }, - "HostnameTheme": { + "OwnerAccount": { "type": "string" }, - "Name": { + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { "type": "string" }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" + "PubliclyAccessible": { + "type": "boolean" }, - "ServiceRoleArn": { + "SnapshotClusterIdentifier": { "type": "string" }, - "SourceStackId": { + "SnapshotIdentifier": { "type": "string" }, "Tags": { @@ -62260,26 +80321,25 @@ var SamSchema = `{ }, "type": "array" }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { - "type": "string" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Stack" + "AWS::Redshift::Cluster" ], "type": "string" }, @@ -62298,90 +80358,255 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Stack.ChefConfiguration": { + "AWS::Redshift::Cluster.LoggingProperties": { "additionalProperties": false, "properties": { - "BerkshelfVersion": { + "BucketName": { "type": "string" }, - "ManageBerkshelf": { - "type": "boolean" + "S3KeyPrefix": { + "type": "string" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::OpsWorks::Stack.ElasticIp": { + "AWS::Redshift::ClusterParameterGroup": { "additionalProperties": false, "properties": { - "Ip": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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": [ - "Ip" + "Type", + "Properties" ], "type": "object" }, - "AWS::OpsWorks::Stack.RdsDbInstance": { + "AWS::Redshift::ClusterParameterGroup.Parameter": { "additionalProperties": false, "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { + "ParameterName": { "type": "string" }, - "RdsDbInstanceArn": { + "ParameterValue": { "type": "string" } }, "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" + "ParameterName", + "ParameterValue" ], "type": "object" }, - "AWS::OpsWorks::Stack.Source": { + "AWS::Redshift::ClusterSecurityGroup": { "additionalProperties": false, "properties": { - "Password": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Revision": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SshKey": { - "type": "string" + "Metadata": { + "type": "object" }, - "Type": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" }, - "Url": { + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], "type": "string" }, - "Username": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { + "AWS::Redshift::ClusterSecurityGroupIngress": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" }, - "Version": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::OpsWorks::UserProfile": { + "AWS::Redshift::ClusterSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62413,27 +80638,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { + "Description": { "type": "string" }, - "SshPublicKey": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "SshUsername": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "IamUserArn" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::UserProfile" + "AWS::Redshift::ClusterSubnetGroup" ], "type": "string" }, @@ -62452,7 +80681,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::OpsWorks::Volume": { + "AWS::ResourceGroups::Group": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62484,28 +80713,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Ec2VolumeId": { - "type": "string" - }, - "MountPoint": { + "Description": { "type": "string" }, "Name": { "type": "string" }, - "StackId": { - "type": "string" + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Ec2VolumeId", - "StackId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Volume" + "AWS::ResourceGroups::Group" ], "type": "string" }, @@ -62524,7 +80755,55 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::OpsWorksCM::Server": { + "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": { "DeletionPolicy": { @@ -62556,92 +80835,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BackupId": { - "type": "string" - }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { - "type": "string" - }, - "CustomDomain": { - "type": "string" - }, - "CustomPrivateKey": { - "type": "string" - }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" - }, - "EngineModel": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "InstanceProfileArn": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KeyPair": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServerName": { - "type": "string" - }, - "ServiceRoleArn": { + "Name": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, - "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorksCM::Server" + "AWS::RoboMaker::Fleet" ], "type": "string" }, @@ -62655,24 +80860,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::OpsWorksCM::Server.EngineAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ADMChannel": { + "AWS::RoboMaker::Robot": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62704,29 +80896,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Architecture": { "type": "string" }, - "ClientId": { + "Fleet": { "type": "string" }, - "ClientSecret": { + "GreengrassGroupId": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" + "Architecture", + "GreengrassGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ADMChannel" + "AWS::RoboMaker::Robot" ], "type": "string" }, @@ -62745,7 +80939,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::APNSChannel": { + "AWS::RoboMaker::RobotApplication": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62777,42 +80971,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { + "CurrentRevisionId": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "Name": { "type": "string" }, - "TeamId": { - "type": "string" + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" }, - "TokenKey": { - "type": "string" + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" }, - "TokenKeyId": { - "type": "string" + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId" + "RobotSoftwareSuite", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSChannel" + "AWS::RoboMaker::RobotApplication" ], "type": "string" }, @@ -62831,7 +81017,43 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::APNSSandboxChannel": { + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62863,42 +81085,21 @@ 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": { + "Application": { "type": "string" }, - "TokenKeyId": { + "CurrentRevisionId": { "type": "string" } }, "required": [ - "ApplicationId" + "Application" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" + "AWS::RoboMaker::RobotApplicationVersion" ], "type": "string" }, @@ -62917,7 +81118,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::APNSVoipChannel": { + "AWS::RoboMaker::SimulationApplication": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62949,42 +81150,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { + "CurrentRevisionId": { "type": "string" }, - "DefaultAuthenticationMethod": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" }, - "PrivateKey": { - "type": "string" + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" }, - "TeamId": { - "type": "string" + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" }, - "TokenKey": { - "type": "string" + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" }, - "TokenKeyId": { - "type": "string" + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId" + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipChannel" + "AWS::RoboMaker::SimulationApplication" ], "type": "string" }, @@ -63003,7 +81204,75 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63035,42 +81304,83 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "Application": { "type": "string" }, - "TeamId": { + "CurrentRevisionId": { "type": "string" - }, - "TokenKey": { + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "TokenKeyId": { + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { "type": "string" } }, "required": [ - "ApplicationId" + "HostedZoneId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" + "AWS::Route53::DNSSEC" ], "type": "string" }, @@ -63089,7 +81399,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::App": { + "AWS::Route53::HealthCheck": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63121,21 +81431,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Tags": { + "HealthCheckConfig": { "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" } }, "required": [ - "Name" + "HealthCheckConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::App" + "AWS::Route53::HealthCheck" ], "type": "string" }, @@ -63154,7 +81467,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings": { + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63186,30 +81515,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" }, - "CloudWatchMetricsEnabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" } }, "required": [ - "ApplicationId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ApplicationSettings" + "AWS::Route53::HostedZone" ], "type": "string" }, @@ -63228,56 +81563,60 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "AWS::Route53::HostedZone.HostedZoneConfig": { "additionalProperties": false, "properties": { - "LambdaFunctionName": { + "Comment": { "type": "string" - }, - "Mode": { + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" }, - "WebUrl": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.Limits": { + "AWS::Route53::HostedZone.QueryLoggingConfig": { "additionalProperties": false, "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" + "CloudWatchLogsLogGroupArn": { + "type": "string" } }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "AWS::Route53::HostedZone.VPC": { "additionalProperties": false, "properties": { - "End": { + "VPCId": { "type": "string" }, - "Start": { + "VPCRegion": { "type": "string" } }, "required": [ - "End", - "Start" + "VPCId", + "VPCRegion" ], "type": "object" }, - "AWS::Pinpoint::BaiduChannel": { + "AWS::Route53::KeySigningKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63309,29 +81648,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "HostedZoneId": { "type": "string" }, - "ApplicationId": { + "KeyManagementServiceArn": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "SecretKey": { + "Status": { "type": "string" } }, "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::BaiduChannel" + "AWS::Route53::KeySigningKey" ], "type": "string" }, @@ -63350,7 +81690,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::Campaign": { + "AWS::Route53::RecordSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63382,67 +81722,61 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" }, - "ApplicationId": { + "Comment": { "type": "string" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" - }, - "Description": { + "Failover": { "type": "string" }, - "HoldoutPercent": { - "type": "number" - }, - "IsPaused": { - "type": "boolean" + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + "HealthCheckId": { + "type": "string" }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + "HostedZoneId": { + "type": "string" }, - "Name": { + "HostedZoneName": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + "MultiValueAnswer": { + "type": "boolean" }, - "SegmentId": { + "Name": { "type": "string" }, - "SegmentVersion": { - "type": "number" + "Region": { + "type": "string" }, - "Tags": { + "ResourceRecords": { "type": "object" }, - "TreatmentDescription": { + "SetIdentifier": { "type": "string" }, - "TreatmentName": { + "TTL": { + "type": "string" + }, + "Type": { "type": "string" + }, + "Weight": { + "type": "number" } }, "required": [ - "ApplicationId", - "MessageConfiguration", "Name", - "Schedule", - "SegmentId" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::Campaign" + "AWS::Route53::RecordSet" ], "type": "string" }, @@ -63461,275 +81795,483 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::Campaign.AttributeDimension": { + "AWS::Route53::RecordSet.AliasTarget": { "additionalProperties": false, "properties": { - "AttributeType": { + "DNSName": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" } }, + "required": [ + "DNSName", + "HostedZoneId" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "AWS::Route53::RecordSet.GeoLocation": { "additionalProperties": false, "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { + "ContinentCode": { "type": "string" }, - "HtmlBody": { + "CountryCode": { "type": "string" }, - "Title": { + "SubdivisionCode": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "AWS::Route53::RecordSetGroup": { "additionalProperties": false, "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "FilterType": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignHook": { + "AWS::Route53::RecordSetGroup.AliasTarget": { "additionalProperties": false, "properties": { - "LambdaFunctionName": { + "DNSName": { "type": "string" }, - "Mode": { - "type": "string" + "EvaluateTargetHealth": { + "type": "boolean" }, - "WebUrl": { + "HostedZoneId": { "type": "string" } }, + "required": [ + "DNSName", + "HostedZoneId" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "AWS::Route53::RecordSetGroup.GeoLocation": { "additionalProperties": false, "properties": { - "Body": { + "ContinentCode": { "type": "string" }, - "MessageType": { + "CountryCode": { "type": "string" }, - "SenderId": { + "SubdivisionCode": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Campaign.EventDimensions": { + "AWS::Route53::RecordSetGroup.RecordSet": { "additionalProperties": false, "properties": { - "Attributes": { - "type": "object" + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + "Comment": { + "type": "string" }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" + "Failover": { + "type": "string" }, - "MaximumDuration": { - "type": "number" + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" }, - "MessagesPerSecond": { - "type": "number" + "HealthCheckId": { + "type": "string" }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { + "HostedZoneId": { "type": "string" }, - "Body": { + "HostedZoneName": { "type": "string" }, - "ImageIconUrl": { + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "ImageSmallIconUrl": { + "Region": { "type": "string" }, - "ImageUrl": { + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { "type": "string" }, - "JsonBody": { + "TTL": { "type": "string" }, - "MediaUrl": { + "Type": { "type": "string" }, - "RawContent": { + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SilentPush": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TimeToLive": { - "type": "number" + "Metadata": { + "type": "object" }, - "Title": { + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], "type": "string" }, - "Url": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { + "AWS::Route53Resolver::ResolverEndpoint": { "additionalProperties": false, "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + "Metadata": { + "type": "object" }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], "type": "string" }, - "Value": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.QuietTime": { + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { "additionalProperties": false, "properties": { - "End": { + "Ip": { "type": "string" }, - "Start": { + "SubnetId": { "type": "string" } }, "required": [ - "End", - "Start" + "SubnetId" ], "type": "object" }, - "AWS::Pinpoint::Campaign.Schedule": { + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { "additionalProperties": false, "properties": { - "EndTime": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IsLocalTime": { - "type": "boolean" + "Metadata": { + "type": "object" }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" }, - "StartTime": { + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], "type": "string" }, - "TimeZone": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.SetDimension": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { - "DimensionType": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + "Metadata": { + "type": "object" }, - "SizePercent": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" }, - "TreatmentDescription": { + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], "type": "string" }, - "TreatmentName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::EmailChannel": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63761,35 +82303,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "DomainName": { "type": "string" }, - "ConfigurationSet": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { + "ResolverEndpointId": { "type": "string" }, - "Identity": { + "RuleType": { "type": "string" }, - "RoleArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" } }, "required": [ - "ApplicationId", - "FromAddress", - "Identity" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailChannel" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -63808,7 +82355,22 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::EmailTemplate": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63840,37 +82402,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DefaultSubstitutions": { - "type": "string" - }, - "HtmlPart": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { + "Name": { "type": "string" }, - "TemplateName": { + "ResolverRuleId": { "type": "string" }, - "TextPart": { + "VPCId": { "type": "string" } }, "required": [ - "Subject", - "TemplateName" + "ResolverRuleId", + "VPCId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailTemplate" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -63889,7 +82439,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::EventStream": { + "AWS::S3::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63921,26 +82471,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Bucket": { "type": "string" }, - "DestinationStreamArn": { + "Name": { "type": "string" }, - "RoleArn": { - "type": "string" + "Policy": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" } }, "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" + "Bucket" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EventStream" + "AWS::S3::AccessPoint" ], "type": "string" }, @@ -63959,7 +82513,34 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Pinpoint::GCMChannel": { + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63991,988 +82572,1058 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + }, + "AccessControl": { "type": "string" }, - "ApplicationId": { + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "type": "array" + }, + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" + }, + "BucketName": { "type": "string" }, - "Enabled": { + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + }, + "ObjectLockEnabled": { "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MaxAge": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "AllowedMethods", + "AllowedOrigins" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate": { + "AWS::S3::Bucket.DataExport": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OutputSchemaVersion": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Destination", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "AWS::S3::Bucket.DefaultRetention": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" + "Days": { + "type": "number" }, - "Body": { + "Mode": { "type": "string" }, - "MediaUrl": { + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { "type": "string" }, - "Sound": { + "BucketArn": { "type": "string" }, - "Title": { + "Format": { "type": "string" }, - "Url": { + "Prefix": { "type": "string" } }, + "required": [ + "BucketArn", + "Format" + ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "AWS::S3::Bucket.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Action": { + "ReplicaKmsKeyID": { "type": "string" - }, - "Body": { + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "ImageIconUrl": { + "Value": { "type": "string" - }, - "ImageUrl": { + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { "type": "string" }, - "SmallImageIconUrl": { + "Prefix": { "type": "string" }, - "Sound": { + "Status": { "type": "string" }, - "Title": { - "type": "string" + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" }, - "Url": { - "type": "string" + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" } }, + "required": [ + "Id", + "Status", + "Tierings" + ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "AWS::S3::Bucket.InventoryConfiguration": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" }, - "Body": { + "Enabled": { + "type": "boolean" + }, + "Id": { "type": "string" }, - "Sound": { + "IncludedObjectVersions": { "type": "string" }, - "Title": { + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { "type": "string" }, - "Url": { + "ScheduleFrequency": { "type": "string" } }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], "type": "object" }, - "AWS::Pinpoint::SMSChannel": { + "AWS::S3::Bucket.LambdaConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Event": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" }, - "required": [ - "ApplicationId" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], + "LogFilePrefix": { "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::Pinpoint::Segment": { + "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Id": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Prefix": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::S3::Bucket.NoncurrentVersionTransition": { + "additionalProperties": false, + "properties": { + "StorageClass": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TransitionInDays": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "StorageClass", + "TransitionInDays" ], "type": "object" }, - "AWS::Pinpoint::Segment.AttributeDimension": { + "AWS::S3::Bucket.NotificationConfiguration": { "additionalProperties": false, "properties": { - "AttributeType": { - "type": "string" + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" }, - "Values": { + "QueueConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" }, "type": "array" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Behavior": { + "AWS::S3::Bucket.NotificationFilter": { "additionalProperties": false, "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" } }, + "required": [ + "S3Key" + ], "type": "object" }, - "AWS::Pinpoint::Segment.Coordinates": { + "AWS::S3::Bucket.ObjectLockConfiguration": { "additionalProperties": false, "properties": { - "Latitude": { - "type": "number" + "ObjectLockEnabled": { + "type": "string" }, - "Longitude": { - "type": "number" + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" } }, "required": [ - "Latitude", - "Longitude" + "Rules" ], "type": "object" }, - "AWS::Pinpoint::Segment.Demographic": { + "AWS::S3::Bucket.OwnershipControlsRule": { "additionalProperties": false, "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "BlockPublicPolicy": { + "type": "boolean" }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "IgnorePublicAcls": { + "type": "boolean" }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "Queue": { + "type": "string" } }, + "required": [ + "Event", + "Queue" + ], "type": "object" }, - "AWS::Pinpoint::Segment.GPSPoint": { + "AWS::S3::Bucket.RedirectAllRequestsTo": { "additionalProperties": false, "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + "HostName": { + "type": "string" }, - "RangeInKilometers": { - "type": "number" + "Protocol": { + "type": "string" } }, "required": [ - "Coordinates", - "RangeInKilometers" + "HostName" ], "type": "object" }, - "AWS::Pinpoint::Segment.Groups": { + "AWS::S3::Bucket.RedirectRule": { "additionalProperties": false, "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "type": "array" + "HostName": { + "type": "string" }, - "SourceSegments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" - }, - "type": "array" + "HttpRedirectCode": { + "type": "string" }, - "SourceType": { + "Protocol": { "type": "string" }, - "Type": { + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Location": { + "AWS::S3::Bucket.ReplicaModifications": { "additionalProperties": false, "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + "Status": { + "type": "string" } }, + "required": [ + "Status" + ], "type": "object" }, - "AWS::Pinpoint::Segment.Recency": { + "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Duration": { + "Role": { "type": "string" }, - "RecencyType": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" + }, + "type": "array" } }, "required": [ - "Duration", - "RecencyType" + "Role", + "Rules" ], "type": "object" }, - "AWS::Pinpoint::Segment.SegmentDimensions": { + "AWS::S3::Bucket.ReplicationDestination": { "additionalProperties": false, "properties": { - "Attributes": { - "type": "object" + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + "Account": { + "type": "string" }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + "Bucket": { + "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" }, "Metrics": { - "type": "object" + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" }, - "UserAttributes": { - "type": "object" + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { + "type": "string" } }, + "required": [ + "Bucket" + ], "type": "object" }, - "AWS::Pinpoint::Segment.SegmentGroups": { + "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" }, - "Include": { + "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" + }, + "Status": { "type": "string" } }, + "required": [ + "Destination", + "Status" + ], "type": "object" }, - "AWS::Pinpoint::Segment.SetDimension": { + "AWS::S3::Bucket.ReplicationRuleAndOperator": { "additionalProperties": false, "properties": { - "DimensionType": { + "Prefix": { "type": "string" }, - "Values": { + "TagFilters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" }, "type": "array" } }, "type": "object" }, - "AWS::Pinpoint::Segment.SourceSegments": { + "AWS::S3::Bucket.ReplicationRuleFilter": { "additionalProperties": false, "properties": { - "Id": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { "type": "string" }, - "Version": { + "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": [ - "Id" + "Minutes" ], "type": "object" }, - "AWS::Pinpoint::SmsTemplate": { + "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], - "type": "string" + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" } }, "required": [ - "Type", - "Properties" + "RedirectRule" ], "type": "object" }, - "AWS::Pinpoint::VoiceChannel": { + "AWS::S3::Bucket.RoutingRuleCondition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], + "HttpErrorCodeReturnedEquals": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KeyPrefixEquals": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet": { + "AWS::S3::Bucket.Rule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExpirationInDays": { + "type": "number" }, - "Metadata": { - "type": "object" + "Id": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], + "Prefix": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "AWS::S3::Bucket.S3KeyFilter": { "additionalProperties": false, "properties": { - "SendingPoolName": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + }, + "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { "additionalProperties": false, "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" + "KMSMasterKeyID": { + "type": "string" + }, + "SSEAlgorithm": { + "type": "string" } }, + "required": [ + "SSEAlgorithm" + ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "AWS::S3::Bucket.ServerSideEncryptionRule": { "additionalProperties": false, "properties": { - "SendingEnabled": { + "BucketKeyEnabled": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" }, - "Value": { - "type": "string" + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "CustomRedirectDomain": { - "type": "string" + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "AWS::S3::Bucket.SseKmsEncryptedObjects": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::S3::Bucket.StorageClassAnalysis": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::S3::Bucket.TagFilter": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { + "Key": { "type": "string" }, - "DimensionValueSource": { + "Value": { "type": "string" } }, "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" + "Key", + "Value" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "AWS::S3::Bucket.Tiering": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + "AccessTier": { + "type": "string" }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + "Days": { + "type": "number" } }, "required": [ - "MatchingEventTypes" + "AccessTier", + "Days" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::S3::Bucket.TopicConfiguration": { "additionalProperties": false, "properties": { - "DeliveryStreamArn": { + "Event": { "type": "string" }, - "IamRoleArn": { + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Topic": { "type": "string" } }, "required": [ - "DeliveryStreamArn", - "IamRoleArn" + "Event", + "Topic" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "AWS::S3::Bucket.Transition": { "additionalProperties": false, "properties": { - "ApplicationArn": { + "StorageClass": { + "type": "string" + }, + "TransitionDate": { "type": "string" + }, + "TransitionInDays": { + "type": "number" } }, + "required": [ + "StorageClass" + ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "AWS::S3::Bucket.VersioningConfiguration": { "additionalProperties": false, "properties": { - "TopicArn": { + "Status": { "type": "string" } }, "required": [ - "TopicArn" + "Status" ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool": { + "AWS::S3::Bucket.WebsiteConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "type": "string" + }, + "IndexDocument": { + "type": "string" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + }, + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65004,21 +83655,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PoolName": { + "Bucket": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" + "PolicyDocument": { + "type": "object" } }, + "required": [ + "Bucket", + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" + "AWS::S3::BucketPolicy" ], "type": "string" }, @@ -65032,23 +83684,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity": { + "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65080,33 +83721,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "Name" + "StorageLensConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::PinpointEmail::Identity" + "AWS::S3::StorageLens" ], "type": "string" }, @@ -65125,204 +83757,194 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { + "AWS::S3::StorageLens.AccountLevel": { "additionalProperties": false, "properties": { - "BehaviorOnMxFailure": { - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "MailFromDomain": { - "type": "string" + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" } }, + "required": [ + "BucketLevel" + ], "type": "object" }, - "AWS::PinpointEmail::Identity.Tags": { + "AWS::S3::StorageLens.ActivityMetrics": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" + "IsEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::QLDB::Ledger": { + "AWS::S3::StorageLens.AwsOrg": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Arn": { "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::S3::StorageLens.BucketLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.BucketsAndRegions": { + "additionalProperties": false, + "properties": { + "Buckets": { + "items": { + "type": "string" }, - "required": [ - "PermissionsMode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" } }, "required": [ - "Type", - "Properties" + "S3BucketDestination" ], "type": "object" }, - "AWS::QLDB::Stream": { + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" + } + }, + "required": [ + "StorageMetrics" + ], + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + }, + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.S3BucketDestination": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Arn": { + "type": "string" }, - "Metadata": { - "type": "object" + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" + "Format": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], + "OutputSchemaVersion": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Prefix": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::QLDB::Stream.KinesisConfiguration": { + "AWS::S3::StorageLens.SelectionCriteria": { "additionalProperties": false, "properties": { - "AggregationEnabled": { + "Delimiter": { + "type": "string" + }, + "MaxDepth": { + "type": "number" + }, + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" + }, + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" + }, + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { + "type": "string" + }, + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { "type": "boolean" }, - "StreamArn": { + "StorageLensArn": { "type": "string" } }, + "required": [ + "AccountLevel", + "Id", + "IsEnabled" + ], "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::S3Outposts::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65354,39 +83976,29 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowExternalPrincipals": { - "type": "boolean" + "Bucket": { + "type": "string" }, "Name": { "type": "string" }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" + "Policy": { + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" } }, "required": [ - "Name" + "Bucket", + "Name", + "VpcConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::RAM::ResourceShare" + "AWS::S3Outposts::AccessPoint" ], "type": "string" }, @@ -65405,7 +84017,16 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65432,131 +84053,36 @@ var SamSchema = `{ ] }, "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" - }, - "SnapshotIdentifier": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { "type": "string" }, - "SourceDBClusterIdentifier": { - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" }, - "SourceRegion": { + "OutpostId": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "Engine" + "BucketName", + "OutpostId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBCluster" + "AWS::S3Outposts::Bucket" ], "type": "string" }, @@ -65575,40 +84101,58 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBCluster.DBClusterRole": { + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" + "DaysAfterInitiation": { + "type": "number" } }, "required": [ - "RoleArn" + "DaysAfterInitiation" ], "type": "object" }, - "AWS::RDS::DBCluster.ScalingConfiguration": { + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { "additionalProperties": false, "properties": { - "AutoPause": { - "type": "boolean" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" }, - "MaxCapacity": { - "type": "number" + "ExpirationDate": { + "type": "string" }, - "MinCapacity": { + "ExpirationInDays": { "type": "number" }, - "SecondsUntilAutoPause": { - "type": "number" + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::RDS::DBClusterParameterGroup": { + "AWS::S3Outposts::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65640,32 +84184,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Family": { + "Bucket": { "type": "string" }, - "Parameters": { + "PolicyDocument": { "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Description", - "Family", - "Parameters" + "Bucket", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBClusterParameterGroup" + "AWS::S3Outposts::BucketPolicy" ], "type": "string" }, @@ -65684,7 +84218,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBInstance": { + "AWS::S3Outposts::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65716,189 +84250,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { + "OutpostId": { "type": "string" }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "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": { + "SecurityGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timezone": { + "SubnetId": { "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "DBInstanceClass" + "OutpostId", + "SecurityGroupId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBInstance" + "AWS::S3Outposts::Endpoint" ], "type": "string" }, @@ -65917,35 +84288,77 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBInstance.DBInstanceRole": { + "AWS::S3Outposts::Endpoint.NetworkInterface": { "additionalProperties": false, "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { + "NetworkInterfaceId": { "type": "string" } }, "required": [ - "FeatureName", - "RoleArn" + "NetworkInterfaceId" ], "type": "object" }, - "AWS::RDS::DBInstance.ProcessorFeature": { + "AWS::SDB::Domain": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "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" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SDB::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::RDS::DBParameterGroup": { + "AWS::SES::ConfigurationSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65977,37 +84390,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Family": { + "Name": { "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" + "AWS::SES::ConfigurationSet" ], "type": "string" }, @@ -66021,12 +84412,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::DBProxy": { + "AWS::SES::ConfigurationSetEventDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66058,61 +84448,159 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "DebugLogging": { - "type": "boolean" - }, - "EngineFamily": { + "ConfigurationSetName": { "type": "string" }, - "IdleClientTimeout": { - "type": "number" - }, - "RequireTLS": { - "type": "boolean" - }, - "RoleArn": { + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamARN": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamARN", + "IAMRoleARN" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + } }, "required": [ - "Auth", - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" + "Filter" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBProxy" + "AWS::SES::ReceiptFilter" ], "type": "string" }, @@ -66131,40 +84619,38 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBProxy.AuthFormat": { + "AWS::SES::ReceiptFilter.Filter": { "additionalProperties": false, "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" }, - "UserName": { + "Name": { "type": "string" } }, + "required": [ + "IpFilter" + ], "type": "object" }, - "AWS::RDS::DBProxy.TagFormat": { + "AWS::SES::ReceiptFilter.IpFilter": { "additionalProperties": false, "properties": { - "Key": { + "Cidr": { "type": "string" }, - "Value": { + "Policy": { "type": "string" } }, + "required": [ + "Cidr", + "Policy" + ], "type": "object" }, - "AWS::RDS::DBProxyTargetGroup": { + "AWS::SES::ReceiptRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66196,37 +84682,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBProxyName": { + "After": { "type": "string" }, - "TargetGroupName": { + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + }, + "RuleSetName": { "type": "string" } }, "required": [ - "DBProxyName", - "TargetGroupName" + "Rule", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBProxyTargetGroup" + "AWS::SES::ReceiptRule" ], "type": "string" }, @@ -66245,31 +84719,187 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "AWS::SES::ReceiptRule.Action": { "additionalProperties": false, "properties": { - "ConnectionBorrowTimeout": { - "type": "number" + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" }, - "InitQuery": { + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { "type": "string" }, - "MaxConnectionsPercent": { - "type": "number" + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.BounceAction": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" }, - "MaxIdleConnectionsPercent": { - "type": "number" + "Sender": { + "type": "string" }, - "SessionPinningFilters": { + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Message", + "Sender", + "SmtpReplyCode" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Recipients": { "items": { "type": "string" }, "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" } }, "type": "object" }, - "AWS::RDS::DBSecurityGroup": { + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66301,34 +84931,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { + "RuleSetName": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBSecurityGroup" + "AWS::SES::ReceiptRuleSet" ], "type": "string" }, @@ -66342,30 +84953,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { + "AWS::SES::Template": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66397,30 +84989,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CIDRIP": { - "type": "string" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" } }, - "required": [ - "DBSecurityGroupName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBSecurityGroupIngress" + "AWS::SES::Template" ], "type": "string" }, @@ -66434,12 +85011,29 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::DBSubnetGroup": { + "AWS::SES::Template.Template": { + "additionalProperties": false, + "properties": { + "HtmlPart": { + "type": "string" + }, + "SubjectPart": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SNS::Subscription": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66471,34 +85065,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { "type": "string" }, - "DBSubnetGroupName": { + "FilterPolicy": { + "type": "object" + }, + "Protocol": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "RawMessageDelivery": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "Protocol", + "TopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBSubnetGroup" + "AWS::SNS::Subscription" ], "type": "string" }, @@ -66517,7 +85120,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RDS::EventSubscription": { + "AWS::SNS::Topic": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66549,36 +85152,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { + "ContentBasedDeduplication": { "type": "boolean" }, - "EventCategories": { + "DisplayName": { + "type": "string" + }, + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" }, "type": "array" }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "SourceType": { + "TopicName": { "type": "string" } }, - "required": [ - "SnsTopicArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::EventSubscription" + "AWS::SNS::Topic" ], "type": "string" }, @@ -66592,12 +85198,27 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::OptionGroup": { + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66629,39 +85250,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Tags": { + "Topics": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" } }, "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" + "PolicyDocument", + "Topics" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::OptionGroup" + "AWS::SNS::TopicPolicy" ], "type": "string" }, @@ -66676,59 +85283,11 @@ var SamSchema = `{ }, "required": [ "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, + "Properties" + ], "type": "object" }, - "AWS::Redshift::Cluster": { + "AWS::SQS::Queue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66760,92 +85319,35 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowVersionUpgrade": { + "ContentBasedDeduplication": { "type": "boolean" }, - "AutomatedSnapshotRetentionPeriod": { + "DelaySeconds": { "type": "number" }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { + "FifoQueue": { "type": "boolean" }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" + "KmsDataKeyReusePeriodSeconds": { + "type": "number" }, - "NodeType": { + "KmsMasterKeyId": { "type": "string" }, - "NumberOfNodes": { + "MaximumMessageSize": { "type": "number" }, - "OwnerAccount": { - "type": "string" - }, - "Port": { + "MessageRetentionPeriod": { "type": "number" }, - "PreferredMaintenanceWindow": { + "QueueName": { "type": "string" }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" + "ReceiveMessageWaitTimeSeconds": { + "type": "number" }, - "SnapshotIdentifier": { - "type": "string" + "RedrivePolicy": { + "type": "object" }, "Tags": { "items": { @@ -66853,25 +85355,15 @@ var SamSchema = `{ }, "type": "array" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "VisibilityTimeout": { + "type": "number" } }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::Cluster" + "AWS::SQS::Queue" ], "type": "string" }, @@ -66885,27 +85377,80 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Redshift::Cluster.LoggingProperties": { + "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { - "BucketName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3KeyPrefix": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup": { + "AWS::SSM::Association": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66937,34 +85482,69 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { "type": "string" }, - "ParameterGroupFamily": { + "AutomationTargetParameterName": { + "type": "string" + }, + "ComplianceSeverity": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { "type": "string" }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + }, "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } }, - "type": "array" + "type": "object" }, - "Tags": { + "ScheduleExpression": { + "type": "string" + }, + "SyncCompliance": { + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::Association.Target" }, "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ - "Description", - "ParameterGroupFamily" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterParameterGroup" + "AWS::SSM::Association" ], "type": "string" }, @@ -66983,23 +85563,62 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { + "AWS::SSM::Association.InstanceAssociationOutputLocation": { "additionalProperties": false, "properties": { - "ParameterName": { + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.ParameterValues": { + "additionalProperties": false, + "properties": { + "ParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { "type": "string" }, - "ParameterValue": { + "OutputS3KeyPrefix": { + "type": "string" + }, + "OutputS3Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "ParameterName", - "ParameterValue" + "Key", + "Values" ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroup": { + "AWS::SSM::Document": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67031,7 +85650,13 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Content": { + "type": "object" + }, + "DocumentType": { + "type": "string" + }, + "Name": { "type": "string" }, "Tags": { @@ -67042,13 +85667,13 @@ var SamSchema = `{ } }, "required": [ - "Description" + "Content" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSecurityGroup" + "AWS::SSM::Document" ], "type": "string" }, @@ -67067,7 +85692,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroupIngress": { + "AWS::SSM::MaintenanceWindow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67099,27 +85724,55 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CIDRIP": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { "type": "string" }, - "ClusterSecurityGroupName": { + "Duration": { + "type": "number" + }, + "EndDate": { "type": "string" }, - "EC2SecurityGroupName": { + "Name": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ClusterSecurityGroupName" + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" + "AWS::SSM::MaintenanceWindow" ], "type": "string" }, @@ -67138,7 +85791,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Redshift::ClusterSubnetGroup": { + "AWS::SSM::MaintenanceWindowTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67173,28 +85826,35 @@ var SamSchema = `{ "Description": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Tags": { + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" }, "type": "array" + }, + "WindowId": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "ResourceType", + "Targets", + "WindowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSubnetGroup" + "AWS::SSM::MaintenanceWindowTarget" ], "type": "string" }, @@ -67213,7 +85873,25 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ResourceGroups::Group": { + "AWS::SSM::MaintenanceWindowTarget.Targets": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67248,27 +85926,57 @@ var SamSchema = `{ "Description": { "type": "string" }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, "Name": { "type": "string" }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + "Priority": { + "type": "number" }, - "Tags": { + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" }, "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" } }, "required": [ - "Name" + "Priority", + "TaskArn", + "TaskType", + "WindowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceGroups::Group" + "AWS::SSM::MaintenanceWindowTask" ], "type": "string" }, @@ -67287,40 +85995,119 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ResourceGroups::Group.Query": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" + "Region": { + "type": "string" }, - "StackIdentifier": { + "S3Bucket": { "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" } }, "type": "object" }, - "AWS::ResourceGroups::Group.ResourceQuery": { + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { "additionalProperties": false, "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + "NotificationArn": { + "type": "string" }, - "Type": { + "NotificationEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NotificationType": { "type": "string" } }, + "required": [ + "NotificationArn" + ], "type": "object" }, - "AWS::ResourceGroups::Group.TagFilter": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { "Key": { @@ -67333,9 +86120,30 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::RoboMaker::Fleet": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67367,18 +86175,43 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, "Name": { "type": "string" }, + "Policies": { + "type": "string" + }, "Tags": { "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Fleet" + "AWS::SSM::Parameter" ], "type": "string" }, @@ -67392,11 +86225,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RoboMaker::Robot": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67428,31 +86262,69 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" }, - "Fleet": { + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { "type": "string" }, - "GreengrassGroupId": { + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { "type": "string" }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, "Name": { "type": "string" }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Architecture", - "GreengrassGroupId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Robot" + "AWS::SSM::PatchBaseline" ], "type": "string" }, @@ -67471,7 +86343,90 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RoboMaker::RobotApplication": { + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchSource": { + "additionalProperties": false, + "properties": { + "Configuration": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::ResourceDataSync": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67503,34 +86458,42 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { + "BucketName": { "type": "string" }, - "Name": { + "BucketPrefix": { "type": "string" }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + "BucketRegion": { + "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" + "KMSKeyArn": { + "type": "string" }, - "Tags": { - "type": "object" + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "SyncName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::SSM::ResourceDataSync" ], "type": "string" }, @@ -67549,43 +86512,76 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { "additionalProperties": false, "properties": { - "Name": { + "OrganizationSourceType": { "type": "string" }, - "Version": { - "type": "string" + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name", - "Version" + "OrganizationSourceType" ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { + "AWS::SSM::ResourceDataSync.S3Destination": { "additionalProperties": false, "properties": { - "Architecture": { + "BucketName": { "type": "string" }, - "S3Bucket": { + "BucketPrefix": { "type": "string" }, - "S3Key": { + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { "type": "string" } }, "required": [ - "Architecture", - "S3Bucket", - "S3Key" + "BucketName", + "BucketRegion", + "SyncFormat" ], "type": "object" }, - "AWS::RoboMaker::RobotApplicationVersion": { + "AWS::SSM::ResourceDataSync.SyncSource": { + "additionalProperties": false, + "properties": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceRegions", + "SourceType" + ], + "type": "object" + }, + "AWS::SSO::Assignment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67617,21 +86613,38 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Application": { + "InstanceArn": { "type": "string" }, - "CurrentRevisionId": { + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { "type": "string" } }, "required": [ - "Application" + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::SSO::Assignment" ], "type": "string" }, @@ -67650,7 +86663,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67682,42 +86695,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { + "AccessControlAttributes": { "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" }, "type": "array" }, - "Tags": { - "type": "object" + "InstanceArn": { + "type": "string" } }, "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::SSO::InstanceAccessControlAttributeConfiguration" ], "type": "string" }, @@ -67736,75 +86731,47 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { "additionalProperties": false, "properties": { - "Name": { + "Key": { "type": "string" }, - "Version": { - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" } }, "required": [ - "Name", - "Version" + "Key", + "Value" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" + "Source": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList" } }, "required": [ - "Name", - "Version" + "Source" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" + "AccessControlAttributeValueSourceList": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplicationVersion": { + "AWS::SSO::PermissionSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67836,21 +86803,46 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Application": { + "Description": { "type": "string" }, - "CurrentRevisionId": { + "InlinePolicy": { + "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Application" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" + "AWS::SSO::PermissionSet" ], "type": "string" }, @@ -67869,7 +86861,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53::HealthCheck": { + "AWS::SageMaker::App": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67901,24 +86893,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckConfig": { - "type": "object" + "AppName": { + "type": "string" }, - "HealthCheckTags": { + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserProfileName": { + "type": "string" } }, "required": [ - "HealthCheckConfig" + "AppName", + "AppType", + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HealthCheck" + "AWS::SageMaker::App" ], "type": "string" }, @@ -67937,23 +86944,22 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53::HealthCheck.HealthCheckTag": { + "AWS::SageMaker::App.ResourceSpec": { "additionalProperties": false, "properties": { - "Key": { + "InstanceType": { "type": "string" }, - "Value": { + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::Route53::HostedZone": { + "AWS::SageMaker::AppImageConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67985,36 +86991,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { + "AppImageConfigName": { "type": "string" }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" }, - "VPCs": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "Name" + "AppImageConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HostedZone" + "AWS::SageMaker::AppImageConfig" ], "type": "string" }, @@ -68033,60 +87030,55 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "DefaultGid": { + "type": "number" }, - "Value": { + "DefaultUid": { + "type": "number" + }, + "MountPath": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { "additionalProperties": false, "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" } }, "required": [ - "CloudWatchLogsLogGroupArn" + "KernelSpecs" ], "type": "object" }, - "AWS::Route53::HostedZone.VPC": { + "AWS::SageMaker::AppImageConfig.KernelSpec": { "additionalProperties": false, "properties": { - "VPCId": { + "DisplayName": { "type": "string" }, - "VPCRegion": { + "Name": { "type": "string" } }, "required": [ - "VPCId", - "VPCRegion" + "Name" ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::SageMaker::CodeRepository": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68118,64 +87110,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "CodeRepositoryName": { "type": "string" }, - "Weight": { - "type": "number" + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" } }, "required": [ - "Name", - "Type" + "GitConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::SageMaker::CodeRepository" ], "type": "string" }, @@ -68194,41 +87143,25 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::SageMaker::CodeRepository.GitConfig": { "additionalProperties": false, "properties": { - "DNSName": { + "Branch": { "type": "string" }, - "EvaluateTargetHealth": { - "type": "boolean" + "RepositoryUrl": { + "type": "string" }, - "HostedZoneId": { + "SecretArn": { "type": "string" } }, "required": [ - "DNSName", - "HostedZoneId" + "RepositoryUrl" ], "type": "object" }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { + "AWS::SageMaker::DataQualityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68260,27 +87193,52 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" }, - "HostedZoneId": { + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { "type": "string" }, - "HostedZoneName": { + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { "type": "string" }, - "RecordSets": { + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::SageMaker::DataQualityJobDefinition" ], "type": "string" }, @@ -68294,103 +87252,250 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" + "InstanceCount": { + "type": "number" }, - "EvaluateTargetHealth": { - "type": "boolean" + "InstanceType": { + "type": "string" }, - "HostedZoneId": { + "VolumeKmsKeyId": { "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "DNSName", - "HostedZoneId" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "ContinentCode": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { "type": "string" }, - "CountryCode": { + "PostAnalyticsProcessorSourceUri": { "type": "string" }, - "SubdivisionCode": { + "RecordPreprocessorSourceUri": { "type": "string" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { + "BaseliningJobName": { "type": "string" }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" }, - "HealthCheckId": { + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { "type": "string" }, - "HostedZoneId": { + "LocalPath": { "type": "string" }, - "HostedZoneName": { + "S3DataDistributionType": { "type": "string" }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { + "S3InputMode": { "type": "string" - }, - "Region": { + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { "type": "string" }, - "ResourceRecords": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" }, "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "SetIdentifier": { - "type": "string" + "EnableNetworkIsolation": { + "type": "boolean" }, - "TTL": { + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { "type": "string" }, - "Type": { + "S3UploadMode": { "type": "string" }, - "Weight": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { "type": "number" } }, "required": [ - "Name", - "Type" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68422,24 +87527,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Direction": { - "type": "string" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" + "Device": { + "type": "object" }, - "Name": { + "DeviceFleetName": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -68448,15 +87541,13 @@ var SamSchema = `{ } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DeviceFleetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::SageMaker::Device" ], "type": "string" }, @@ -68475,22 +87566,25 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::SageMaker::Device.Device": { "additionalProperties": false, "properties": { - "Ip": { + "Description": { "type": "string" }, - "SubnetId": { + "DeviceName": { + "type": "string" + }, + "IotThingName": { "type": "string" } }, "required": [ - "SubnetId" + "DeviceName" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::SageMaker::DeviceFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68522,18 +87616,35 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Description": { "type": "string" }, - "Name": { + "DeviceFleetName": { + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::SageMaker::DeviceFleet" ], "type": "string" }, @@ -68547,72 +87658,27 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResolverQueryLogConfigId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - ], + "KmsKeyId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3OutputLocation": { "type": "string" } }, "required": [ - "Type" + "S3OutputLocation" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::SageMaker::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68644,40 +87710,49 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { + "AppNetworkAccessType": { "type": "string" }, - "Name": { + "AuthMode": { "type": "string" }, - "ResolverEndpointId": { + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { "type": "string" }, - "RuleType": { + "KmsKeyId": { "type": "string" }, - "Tags": { + "SubnetIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" }, - "TargetIps": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcId": { + "type": "string" } }, "required": [ + "AuthMode", + "DefaultUserSettings", "DomainName", - "RuleType" + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::SageMaker::Domain" ], "type": "string" }, @@ -68690,28 +87765,110 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "Type", - "Properties" - ], + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { - "Ip": { + "ExecutionRole": { "type": "string" }, - "Port": { - "type": "string" + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" } }, - "required": [ - "Ip" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::SageMaker::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68743,25 +87900,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" }, - "ResolverRuleId": { + "EndpointConfigName": { "type": "string" }, - "VPCId": { + "EndpointName": { "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ResolverRuleId", - "VPCId" + "EndpointConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::SageMaker::Endpoint" ], "type": "string" }, @@ -68780,7 +87951,110 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::S3::AccessPoint": { + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68812,39 +88086,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "CreationDate": { - "type": "string" + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, - "Name": { + "EndpointConfigName": { "type": "string" }, - "NetworkOrigin": { + "KmsKeyId": { "type": "string" }, - "Policy": { - "type": "object" - }, - "PolicyStatus": { - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Bucket" + "ProductionVariants" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessPoint" + "AWS::SageMaker::EndpointConfig" ], "type": "string" }, @@ -68863,34 +88134,100 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" }, - "BlockPublicPolicy": { - "type": "boolean" + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" }, - "IgnorePublicAcls": { - "type": "boolean" + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" }, - "RestrictPublicBuckets": { + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" } }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], "type": "object" }, - "AWS::S3::AccessPoint.VpcConfiguration": { + "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { - "VpcId": { + "AcceleratorType": { + "type": "string" + }, + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "VariantName": { "type": "string" } }, + "required": [ + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" + ], "type": "object" }, - "AWS::S3::Bucket": { + "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68922,78 +88259,51 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" - }, - "AccessControl": { + "Description": { "type": "string" }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { + "EventTimeFeatureName": { "type": "string" }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { + "FeatureDefinitions": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" }, "type": "array" }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + "FeatureGroupName": { + "type": "string" }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + "OfflineStoreConfig": { + "type": "object" }, - "ObjectLockEnabled": { - "type": "boolean" + "OnlineStoreConfig": { + "type": "object" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + "RecordIdentifierFeatureName": { + "type": "string" }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + "RoleArn": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::Bucket" + "AWS::SageMaker::FeatureGroup" ], "type": "string" }, @@ -69007,874 +88317,1005 @@ var SamSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.AnalyticsConfiguration": { + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Prefix": { + "FeatureName": { "type": "string" }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Id": { + "FeatureType": { "type": "string" - }, - "MaxAge": { - "type": "number" } }, "required": [ - "AllowedMethods", - "AllowedOrigins" + "FeatureName", + "FeatureType" ], "type": "object" }, - "AWS::S3::Bucket.DataExport": { + "AWS::SageMaker::Image": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "OutputSchemaVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "type": "number" }, - "Mode": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" + "Metadata": { + "type": "object" }, - "BucketArn": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "type": "string" + }, + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" }, - "Format": { + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], "type": "string" }, - "Prefix": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketArn", - "Format" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.EncryptionConfiguration": { + "AWS::SageMaker::ImageVersion": { "additionalProperties": false, "properties": { - "ReplicaKmsKeyID": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BaseImage": { + "type": "string" + }, + "ImageName": { + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.InventoryConfiguration": { + "AWS::SageMaker::Model": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IncludedObjectVersions": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OptionalFields": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + } }, - "type": "array" + "required": [ + "ExecutionRoleArn" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], "type": "string" }, - "ScheduleFrequency": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.LambdaConfiguration": { + "AWS::SageMaker::Model.ContainerDefinition": { "additionalProperties": false, "properties": { - "Event": { + "ContainerHostname": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "Environment": { + "type": "object" }, - "Function": { + "Image": { "type": "string" - } - }, - "required": [ - "Event", - "Function" - ], - "type": "object" - }, - "AWS::S3::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationBucketName": { + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { "type": "string" }, - "LogFilePrefix": { + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" } }, "type": "object" }, - "AWS::S3::Bucket.Metrics": { + "AWS::SageMaker::Model.ImageConfig": { "additionalProperties": false, "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - }, - "Status": { + "RepositoryAccessMode": { "type": "string" } }, "required": [ - "Status" + "RepositoryAccessMode" ], "type": "object" }, - "AWS::S3::Bucket.MetricsConfiguration": { + "AWS::SageMaker::Model.InferenceExecutionConfig": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Prefix": { + "Mode": { "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" } }, "required": [ - "Id" + "Mode" ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { + "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { - "StorageClass": { + "ModelCacheSetting": { "type": "string" - }, - "TransitionInDays": { - "type": "number" } }, - "required": [ - "StorageClass", - "TransitionInDays" - ], "type": "object" }, - "AWS::S3::Bucket.NotificationConfiguration": { + "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" - }, - "QueueConfigurations": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + "type": "string" }, "type": "array" }, - "TopicConfigurations": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + "type": "string" }, "type": "array" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::S3::Bucket.NotificationFilter": { + "AWS::SageMaker::ModelBiasJobDefinition": { "additionalProperties": false, "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" + }, + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" + }, + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" + }, + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" + }, + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelBiasJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "S3Key" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockConfiguration": { + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "ObjectLockEnabled": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockRule": { + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + "S3Uri": { + "type": "string" } }, "type": "object" }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" + "EndTimeOffset": { + "type": "string" }, - "BlockPublicPolicy": { - "type": "boolean" + "EndpointName": { + "type": "string" }, - "IgnorePublicAcls": { - "type": "boolean" + "FeaturesAttribute": { + "type": "string" }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { + "InferenceAttribute": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "LocalPath": { + "type": "string" }, - "Queue": { + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, "required": [ - "Event", - "Queue" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { - "HostName": { + "ConfigUri": { "type": "string" }, - "Protocol": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { "type": "string" } }, "required": [ - "HostName" + "ConfigUri", + "ImageUri" ], "type": "object" }, - "AWS::S3::Bucket.RedirectRule": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { "additionalProperties": false, "properties": { - "HostName": { - "type": "string" - }, - "HttpRedirectCode": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ReplaceKeyPrefixWith": { + "BaseliningJobName": { "type": "string" }, - "ReplaceKeyWith": { - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationConfiguration": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { "additionalProperties": false, "properties": { - "Role": { - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" } }, "required": [ - "Role", - "Rules" + "EndpointInput", + "GroundTruthS3Input" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationDestination": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { "additionalProperties": false, "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { - "type": "string" - }, - "Bucket": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" - }, - "StorageClass": { + "S3Uri": { "type": "string" } }, "required": [ - "Bucket" + "S3Uri" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRule": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { "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" - }, - "Status": { - "type": "string" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" } }, "required": [ - "Destination", - "Status" + "S3Output" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "Prefix": { + "KmsKeyId": { "type": "string" }, - "TagFilters": { + "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" }, "type": "array" } }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleFilter": { + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Prefix": { - "type": "string" + "EnableNetworkIsolation": { + "type": "boolean" }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationTime": { + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { "additionalProperties": false, "properties": { - "Status": { + "LocalPath": { "type": "string" }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" } }, "required": [ - "Status", - "Time" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationTimeValue": { + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { - "Minutes": { + "MaxRuntimeInSeconds": { "type": "number" } }, "required": [ - "Minutes" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::S3::Bucket.RoutingRule": { + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "RedirectRule" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::S3::Bucket.RoutingRuleCondition": { + "AWS::SageMaker::ModelExplainabilityJobDefinition": { "additionalProperties": false, "properties": { - "HttpErrorCodeReturnedEquals": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeyPrefixEquals": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::S3::Bucket.Rule": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + "InstanceCount": { + "type": "number" }, - "ExpirationDate": { + "InstanceType": { "type": "string" }, - "ExpirationInDays": { - "type": "number" - }, - "Id": { + "VolumeKmsKeyId": { "type": "string" }, - "NoncurrentVersionExpirationInDays": { + "VolumeSizeInGB": { "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "type": "array" + "FeaturesAttribute": { + "type": "string" }, - "Prefix": { + "InferenceAttribute": { "type": "string" }, - "Status": { + "LocalPath": { "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" + "ProbabilityAttribute": { + "type": "string" }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" + "S3DataDistributionType": { + "type": "string" }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" + "S3InputMode": { + "type": "string" } }, "required": [ - "Status" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::S3::Bucket.S3KeyFilter": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], + "properties": {}, "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { + "ConfigUri": { "type": "string" }, - "SSEAlgorithm": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { "type": "string" } }, "required": [ - "SSEAlgorithm" + "ConfigUri", + "ImageUri" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { "additionalProperties": false, "properties": { - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::S3::Bucket.SourceSelectionCriteria": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { "additionalProperties": false, "properties": { - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" } }, + "required": [ + "EndpointInput" + ], "type": "object" }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "Status": { - "type": "string" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" } }, "required": [ - "Status" + "S3Output" ], "type": "object" }, - "AWS::S3::Bucket.StorageClassAnalysis": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" } }, + "required": [ + "MonitoringOutputs" + ], "type": "object" }, - "AWS::S3::Bucket.TagFilter": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" } }, "required": [ - "Key", - "Value" + "ClusterConfig" ], "type": "object" }, - "AWS::S3::Bucket.TopicConfiguration": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "Event": { - "type": "string" + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "EnableNetworkIsolation": { + "type": "boolean" }, - "Topic": { - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" } }, - "required": [ - "Event", - "Topic" - ], "type": "object" }, - "AWS::S3::Bucket.Transition": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { "additionalProperties": false, "properties": { - "StorageClass": { + "LocalPath": { "type": "string" }, - "TransitionDate": { + "S3UploadMode": { "type": "string" }, - "TransitionInDays": { - "type": "number" + "S3Uri": { + "type": "string" } }, "required": [ - "StorageClass" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::S3::Bucket.VersioningConfiguration": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { - "Status": { - "type": "string" + "MaxRuntimeInSeconds": { + "type": "number" } }, "required": [ - "Status" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::S3::Bucket.WebsiteConfiguration": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoutingRules": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + "type": "string" }, "type": "array" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::S3::BucketPolicy": { + "AWS::SageMaker::ModelPackageGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69906,22 +89347,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { + "ModelPackageGroupDescription": { "type": "string" }, - "PolicyDocument": { + "ModelPackageGroupName": { + "type": "string" + }, + "ModelPackageGroupPolicy": { "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Bucket", - "PolicyDocument" + "ModelPackageGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::BucketPolicy" + "AWS::SageMaker::ModelPackageGroup" ], "type": "string" }, @@ -69940,7 +89389,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SDB::Domain": { + "AWS::SageMaker::ModelQualityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69972,15 +89421,52 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" + }, + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" + }, + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" + }, + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" + }, + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SDB::Domain" + "AWS::SageMaker::ModelQualityJobDefinition" ], "type": "string" }, @@ -69994,303 +89480,273 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet": { + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "VolumeKmsKeyId": { + "type": "string" }, - "Metadata": { - "type": "object" + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" + "EndpointName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSet" - ], + "InferenceAttribute": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, "required": [ - "Type" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "type": "object" + "ImageUri": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSetEventDestination" - ], + "PostAnalyticsProcessorSourceUri": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ProblemType": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ImageUri", + "ProblemType" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" }, - "DimensionValueSource": { + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { "type": "string" } }, "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" + "S3Uri" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" }, - "MatchingEventTypes": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" }, "type": "array" - }, - "Name": { - "type": "string" } }, "required": [ - "MatchingEventTypes" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" } }, "required": [ - "DeliveryStreamARN", - "IAMRoleARN" + "ClusterConfig" ], "type": "object" }, - "AWS::SES::ReceiptFilter": { + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "EnableNetworkIsolation": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" - } - }, - "required": [ - "Filter" - ], - "type": "object" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SES::ReceiptFilter" - ], + "S3UploadMode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Uri": { "type": "string" } }, "required": [ - "Type", - "Properties" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SES::ReceiptFilter.Filter": { + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { - "type": "string" + "MaxRuntimeInSeconds": { + "type": "number" } }, "required": [ - "IpFilter" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SES::ReceiptFilter.IpFilter": { + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "Cidr": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Policy": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Cidr", - "Policy" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SES::ReceiptRule": { + "AWS::SageMaker::MonitoringSchedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70322,25 +89778,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "After": { + "EndpointName": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + "FailureReason": { + "type": "string" }, - "RuleSetName": { + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Rule", - "RuleSetName" + "MonitoringScheduleConfig", + "MonitoringScheduleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRule" + "AWS::SageMaker::MonitoringSchedule" ], "type": "string" }, @@ -70359,669 +89830,358 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SES::ReceiptRule.Action": { + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { "additionalProperties": false, "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" } }, "type": "object" }, - "AWS::SES::ReceiptRule.AddHeaderAction": { + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { "additionalProperties": false, "properties": { - "HeaderName": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "HeaderValue": { + "VolumeKmsKeyId": { "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "HeaderName", - "HeaderValue" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SES::ReceiptRule.BounceAction": { + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { "additionalProperties": false, "properties": { - "Message": { - "type": "string" - }, - "Sender": { - "type": "string" - }, - "SmtpReplyCode": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "TopicArn": { + "S3Uri": { "type": "string" } }, - "required": [ - "Message", - "Sender", - "SmtpReplyCode" - ], "type": "object" }, - "AWS::SES::ReceiptRule.LambdaAction": { + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { "additionalProperties": false, "properties": { - "FunctionArn": { + "EndpointName": { "type": "string" }, - "InvocationType": { + "LocalPath": { "type": "string" }, - "TopicArn": { + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { "type": "string" } }, "required": [ - "FunctionArn" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SES::ReceiptRule.Rule": { + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { - "Actions": { + "ContainerArguments": { "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + "type": "string" }, "type": "array" }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { + "ContainerEntrypoint": { "items": { "type": "string" }, "type": "array" }, - "ScanEnabled": { - "type": "boolean" + "ImageUri": { + "type": "string" }, - "TlsPolicy": { + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { "type": "string" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::SES::ReceiptRule.S3Action": { + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { "additionalProperties": false, "properties": { - "BucketName": { + "CreationTime": { "type": "string" }, - "KmsKeyArn": { + "EndpointName": { "type": "string" }, - "ObjectKeyPrefix": { + "FailureReason": { "type": "string" }, - "TopicArn": { + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { "type": "string" } }, "required": [ - "BucketName" + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" ], "type": "object" }, - "AWS::SES::ReceiptRule.SNSAction": { + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { "additionalProperties": false, "properties": { - "Encoding": { - "type": "string" - }, - "TopicArn": { - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" } }, + "required": [ + "EndpointInput" + ], "type": "object" }, - "AWS::SES::ReceiptRule.StopAction": { + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { "additionalProperties": false, "properties": { - "Scope": { - "type": "string" + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, - "TopicArn": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" } }, "required": [ - "Scope" + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" ], "type": "object" }, - "AWS::SES::ReceiptRule.WorkmailAction": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { "additionalProperties": false, "properties": { - "OrganizationArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" } }, "required": [ - "OrganizationArn" + "S3Output" ], "type": "object" }, - "AWS::SES::ReceiptRuleSet": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KmsKeyId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "type": "string" - } + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SES::Template": { + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" } }, "required": [ - "Type" + "ClusterConfig" ], "type": "object" }, - "AWS::SES::Template.Template": { + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { "additionalProperties": false, "properties": { - "HtmlPart": { - "type": "string" + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" }, - "SubjectPart": { + "MonitoringJobDefinitionName": { "type": "string" }, - "TemplateName": { + "MonitoringType": { "type": "string" }, - "TextPart": { - "type": "string" + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" } }, "type": "object" }, - "AWS::SNS::Subscription": { + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], - "type": "string" + "EnableNetworkIsolation": { + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SNS::Topic": { + "AWS::SageMaker::MonitoringSchedule.S3Output": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LocalPath": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { - "type": "string" - }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Topic" - ], + "S3UploadMode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Uri": { "type": "string" } }, "required": [ - "Type" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SNS::Topic.Subscription": { + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string" - }, - "Protocol": { + "ScheduleExpression": { "type": "string" } }, "required": [ - "Endpoint", - "Protocol" + "ScheduleExpression" ], "type": "object" }, - "AWS::SNS::TopicPolicy": { + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Topics" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::TopicPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Uri": { "type": "string" } }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, "required": [ - "Type", - "Properties" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SQS::Queue": { + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { - "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" - } + "SecurityGroupIds": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::Queue" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SQS::QueuePolicy": { + "AWS::SageMaker::NotebookInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71053,212 +90213,89 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" - }, - "Queues": { + "AcceleratorTypes": { "items": { "type": "string" }, "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Queues" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::QueuePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" }, - { + "AdditionalCodeRepositories": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" }, - "AssociationName": { + "DefaultCodeRepository": { "type": "string" }, - "AutomationTargetParameterName": { + "DirectInternetAccess": { "type": "string" }, - "ComplianceSeverity": { + "InstanceType": { "type": "string" }, - "DocumentVersion": { + "KmsKeyId": { "type": "string" }, - "InstanceId": { + "LifecycleConfigName": { "type": "string" }, - "MaxConcurrency": { + "NotebookInstanceName": { "type": "string" }, - "MaxErrors": { + "RoleArn": { "type": "string" }, - "Name": { + "RootAccess": { "type": "string" }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } + "SecurityGroupIds": { + "items": { + "type": "string" }, - "type": "object" - }, - "ScheduleExpression": { - "type": "string" + "type": "array" }, - "SyncCompliance": { + "SubnetId": { "type": "string" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Association" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" - } - }, - "type": "object" - }, - "AWS::SSM::Association.ParameterValues": { - "additionalProperties": false, - "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::Association.S3OutputLocation": { - "additionalProperties": false, - "properties": { - "OutputS3BucketName": { - "type": "string" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" }, - "OutputS3KeyPrefix": { + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], "type": "string" }, - "OutputS3Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::Association.Target": { - "additionalProperties": false, - "properties": { - "Key": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "Key", - "Values" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSM::Document": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71290,30 +90327,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "object" - }, - "DocumentType": { + "NotebookInstanceLifecycleConfigName": { "type": "string" }, - "Name": { - "type": "string" + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" }, - "Tags": { + "OnStart": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" }, "type": "array" } }, - "required": [ - "Content" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Document" + "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" }, @@ -71327,12 +90361,20 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::MaintenanceWindow": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71364,34 +90406,19 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Duration": { - "type": "number" - }, - "EndDate": { - "type": "string" + "PipelineDefinition": { + "type": "object" }, - "Name": { + "PipelineDescription": { "type": "string" }, - "Schedule": { + "PipelineDisplayName": { "type": "string" }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleTimezone": { + "PipelineName": { "type": "string" }, - "StartDate": { + "RoleArn": { "type": "string" }, "Tags": { @@ -71402,17 +90429,15 @@ var SamSchema = `{ } }, "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" + "PipelineDefinition", + "PipelineName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::SageMaker::Pipeline" ], "type": "string" }, @@ -71431,7 +90456,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget": { + "AWS::SageMaker::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71463,38 +90488,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { + "ProjectDescription": { "type": "string" }, - "OwnerInformation": { + "ProjectName": { "type": "string" }, - "ResourceType": { - "type": "string" + "ServiceCatalogProvisioningDetails": { + "type": "object" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WindowId": { - "type": "string" } }, "required": [ - "ResourceType", - "Targets", - "WindowId" + "ProjectName", + "ServiceCatalogProvisioningDetails" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::SageMaker::Project" ], "type": "string" }, @@ -71513,25 +90531,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { + "AWS::SageMaker::UserProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71563,63 +90563,37 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { + "DomainId": { "type": "string" }, - "Name": { + "SingleSignOnUserIdentifier": { "type": "string" }, - "Priority": { - "type": "number" - }, - "ServiceRoleArn": { + "SingleSignOnUserValue": { "type": "string" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { + "UserProfileName": { "type": "string" }, - "WindowId": { - "type": "string" + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" } }, "required": [ - "MaxConcurrency", - "MaxErrors", - "Priority", - "Targets", - "TaskArn", - "TaskType", - "WindowId" + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::SageMaker::UserProfile" ], "type": "string" }, @@ -71638,242 +90612,104 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { - "Region": { + "AppImageConfigName": { "type": "string" }, - "S3Bucket": { + "ImageName": { "type": "string" }, - "S3Prefix": { - "type": "string" + "ImageVersionNumber": { + "type": "number" } }, "required": [ - "Region", - "S3Bucket" + "AppImageConfigName", + "ImageName" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "type": "object" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { "additionalProperties": false, "properties": { - "ClientContext": { - "type": "string" - }, - "Payload": { - "type": "string" + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" }, - "Qualifier": { - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "AWS::SageMaker::UserProfile.ResourceSpec": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" - }, - "DocumentHashType": { - "type": "string" - }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" - }, - "OutputS3BucketName": { + "InstanceType": { "type": "string" }, - "OutputS3KeyPrefix": { + "SageMakerImageArn": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { + "SageMakerImageVersionArn": { "type": "string" - }, - "TimeoutSeconds": { - "type": "number" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "AWS::SageMaker::UserProfile.SharingSettings": { "additionalProperties": false, "properties": { - "Input": { + "NotebookOutputOption": { "type": "string" }, - "Name": { + "S3KmsKeyId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { - "additionalProperties": false, - "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" }, - "NotificationType": { + "S3OutputPath": { "type": "string" } }, - "required": [ - "NotificationArn" - ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.Target": { + "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { - "Key": { + "ExecutionRole": { "type": "string" }, - "Values": { + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { "items": { "type": "string" }, "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" - }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" - } - }, - "type": "object" - }, - "AWS::SSM::Parameter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSM::PatchBaseline": { + "AWS::SageMaker::Workteam": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71905,69 +90741,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, "Description": { "type": "string" }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - }, - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { + "MemberDefinitions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" }, "type": "array" }, - "RejectedPatchesAction": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "WorkteamName": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::SageMaker::Workteam" ], "type": "string" }, @@ -71981,95 +90781,55 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilter": { + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { "additionalProperties": false, "properties": { - "Key": { + "CognitoClientId": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { - "additionalProperties": false, - "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchSource": { - "additionalProperties": false, - "properties": { - "Configuration": { + "CognitoUserGroup": { "type": "string" }, - "Name": { + "CognitoUserPool": { "type": "string" - }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchStringDate": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SSM::PatchBaseline.Rule": { + "AWS::SageMaker::Workteam.MemberDefinition": { "additionalProperties": false, "properties": { - "ApproveAfterDays": { - "type": "number" - }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" - }, - "ComplianceLevel": { - "type": "string" - }, - "EnableNonSecurity": { - "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" } }, + "required": [ + "CognitoMemberDefinition" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.RuleGroup": { + "AWS::SageMaker::Workteam.NotificationConfiguration": { "additionalProperties": false, "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "type": "array" + "NotificationTopicArn": { + "type": "string" } }, + "required": [ + "NotificationTopicArn" + ], "type": "object" }, - "AWS::SSM::ResourceDataSync": { + "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72101,42 +90861,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" + "BlockPublicPolicy": { + "type": "boolean" }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + "ResourcePolicy": { + "type": "object" }, - "SyncType": { + "SecretId": { "type": "string" } }, "required": [ - "SyncName" + "ResourcePolicy", + "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ResourceDataSync" + "AWS::SecretsManager::ResourcePolicy" ], "type": "string" }, @@ -72155,76 +90898,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { - "additionalProperties": false, - "properties": { - "OrganizationSourceType": { - "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OrganizationSourceType" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "SyncFormat": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.SyncSource": { - "additionalProperties": false, - "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SourceRegions", - "SourceType" - ], - "type": "object" - }, - "AWS::SSO::Assignment": { + "AWS::SecretsManager::RotationSchedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72256,38 +90930,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { - "type": "string" - }, - "PermissionSetArn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, - "PrincipalType": { + "RotationLambdaARN": { "type": "string" }, - "TargetId": { - "type": "string" + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" }, - "TargetType": { + "SecretId": { "type": "string" } }, "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" + "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Assignment" + "AWS::SecretsManager::RotationSchedule" ], "type": "string" }, @@ -72306,7 +90969,46 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72341,25 +91043,22 @@ var SamSchema = `{ "Description": { "type": "string" }, - "InlinePolicy": { + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { "type": "string" }, - "InstanceArn": { + "Name": { "type": "string" }, - "ManagedPolicies": { + "ReplicaRegions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" }, "type": "array" }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { + "SecretString": { "type": "string" }, "Tags": { @@ -72369,15 +91068,11 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "InstanceArn", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::PermissionSet" + "AWS::SecretsManager::Secret" ], "type": "string" }, @@ -72391,12 +91086,62 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::CodeRepository": { + "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::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72428,21 +91173,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CodeRepositoryName": { + "SecretId": { "type": "string" }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" } }, "required": [ - "GitConfig" + "SecretId", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::SecretsManager::SecretTargetAttachment" ], "type": "string" }, @@ -72461,25 +91211,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72511,36 +91243,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigName": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, - "required": [ - "EndpointConfigName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -72554,21 +91265,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { + "AWS::Serverless::Api": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72600,36 +91301,90 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" }, - "EndpointConfigName": { + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Api.Auth" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { "type": "string" }, - "KmsKeyId": { + "Cors": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + } + ] + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + } + ] + }, + "EndpointConfiguration": { "type": "string" }, - "ProductionVariants": { + "MethodSettings": { "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + "type": "object" }, "type": "array" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "Name": { + "type": "string" + }, + "OpenApiVersion": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "ProductionVariants" + "StageName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::Serverless::Api" ], "type": "string" }, @@ -72648,100 +91403,75 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "AWS::Serverless::Api.AccessLogSetting": { "additionalProperties": false, "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "DestinationArn": { + "type": "string" }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "Format": { + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { + "AWS::Serverless::Api.Auth": { "additionalProperties": false, "properties": { - "CaptureMode": { + "Authorizers": { + "type": "object" + }, + "DefaultAuthorizer": { "type": "string" } }, - "required": [ - "CaptureMode" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "AWS::Serverless::Api.CorsConfiguration": { "additionalProperties": false, "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" - }, - "type": "array" + "AllowCredentials": { + "type": "boolean" }, - "DestinationS3Uri": { + "AllowHeaders": { "type": "string" }, - "EnableCapture": { - "type": "boolean" + "AllowMethods": { + "type": "string" }, - "InitialSamplingPercentage": { - "type": "number" + "AllowOrigin": { + "type": "string" }, - "KmsKeyId": { + "MaxAge": { "type": "string" } }, "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" + "AllowOrigin" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "AWS::Serverless::Api.S3Location": { "additionalProperties": false, "properties": { - "AcceleratorType": { - "type": "string" - }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { + "Bucket": { "type": "string" }, - "ModelName": { + "Key": { "type": "string" }, - "VariantName": { - "type": "string" + "Version": { + "type": "number" } }, "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" + "Bucket", + "Key", + "Version" ], "type": "object" }, - "AWS::SageMaker::Model": { + "AWS::Serverless::Application": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72773,42 +91503,54 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Containers": { + "Location": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" + } + ] + }, + "NotificationArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "type": "string" }, "type": "array" }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + "TimeoutInMinutes": { + "type": "number" } }, "required": [ - "ExecutionRoleArn" + "Location" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Model" + "AWS::Serverless::Application" ], "type": "string" }, @@ -72827,68 +91569,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::Model.ContainerDefinition": { + "AWS::Serverless::Application.ApplicationLocation": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { - "type": "string" - }, - "ModelDataUrl": { + "ApplicationId": { "type": "string" }, - "ModelPackageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.ImageConfig": { - "additionalProperties": false, - "properties": { - "RepositoryAccessMode": { + "SemanticVersion": { "type": "string" } }, "required": [ - "RepositoryAccessMode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" + "ApplicationId", + "SemanticVersion" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule": { + "AWS::Serverless::Function": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72920,49 +91617,140 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CreationTime": { + "AutoPublishAlias": { "type": "string" }, - "EndpointName": { + "CodeUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Location" + } + ] + }, + "DeadLetterQueue": { + "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" + }, + "DeploymentPreference": { + "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" + }, + "Description": { "type": "string" }, - "FailureReason": { + "Environment": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::Function.EventSource" + } + }, + "type": "object" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { "type": "string" }, - "LastModifiedTime": { + "Handler": { "type": "string" }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" }, - "MonitoringScheduleArn": { + "PermissionsBoundary": { "type": "string" }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" + }, + "type": "array" + } + ] }, - "MonitoringScheduleName": { + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { "type": "string" }, - "MonitoringScheduleStatus": { + "Runtime": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "Tracing": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" } }, "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" + "CodeUri", + "Handler", + "Runtime" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::Serverless::Function" ], "type": "string" }, @@ -72981,1084 +91769,774 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "AWS::Serverless::Function.AlexaSkillEvent": { "additionalProperties": false, "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "AWS::Serverless::Function.ApiEvent": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { + "Method": { "type": "string" }, - "VolumeKmsKeyId": { + "Path": { "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "RestApiId": { + "type": "string" } }, "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" + "Method", + "Path" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "AWS::Serverless::Function.BucketSAMPT": { "additionalProperties": false, "properties": { - "S3Uri": { + "BucketName": { "type": "string" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "AWS::Serverless::Function.CloudWatchEventEvent": { "additionalProperties": false, "properties": { - "EndpointName": { + "Input": { "type": "string" }, - "LocalPath": { + "InputPath": { "type": "string" }, - "S3DataDistributionType": { + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::Function.CloudWatchLogsEvent": { + "additionalProperties": false, + "properties": { + "FilterPattern": { "type": "string" }, - "S3InputMode": { + "LogGroupName": { "type": "string" } }, "required": [ - "EndpointName", - "LocalPath" + "FilterPattern", + "LogGroupName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Environment": { + "AWS::Serverless::Function.CollectionSAMPT": { "additionalProperties": false, - "properties": {}, + "properties": { + "CollectionId": { + "type": "string" + } + }, + "required": [ + "CollectionId" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "AWS::Serverless::Function.DeadLetterQueue": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" + "TargetArn": { + "type": "string" }, - "ContainerEntrypoint": { + "Type": { + "type": "string" + } + }, + "required": [ + "TargetArn", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { "items": { "type": "string" }, "type": "array" }, - "ImageUri": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "PostAnalyticsProcessorSourceUri": { + "Hooks": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Role": { "type": "string" }, - "RecordPreprocessorSourceUri": { + "Type": { "type": "string" } }, + "type": "object" + }, + "AWS::Serverless::Function.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Serverless::Function.OnFailure" + } + }, "required": [ - "ImageUri" + "OnFailure" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "AWS::Serverless::Function.DomainSAMPT": { "additionalProperties": false, "properties": { - "CreationTime": { + "DomainName": { "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::Function.DynamoDBEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" }, - "EndpointName": { - "type": "string" + "BisectBatchOnFunctionError": { + "type": "boolean" }, - "FailureReason": { - "type": "string" + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" }, - "LastModifiedTime": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "MonitoringExecutionStatus": { - "type": "string" + "MaximumBatchingWindowInSeconds": { + "type": "number" }, - "MonitoringScheduleName": { - "type": "string" + "MaximumRecordAgeInSeconds": { + "type": "number" }, - "ProcessingJobArn": { + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "StartingPosition": { "type": "string" }, - "ScheduledTime": { + "Stream": { "type": "string" } }, "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" + "StartingPosition", + "Stream" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "AWS::Serverless::Function.EmptySAMPT": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Serverless::Function.EventBridgeRuleEvent": { "additionalProperties": false, "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" } }, "required": [ - "EndpointInput" + "Pattern" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "AWS::Serverless::Function.EventSource": { "additionalProperties": false, "properties": { - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Event" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" + } + ] + }, + "Type": { + "type": "string" } }, + "required": [ + "Properties", + "Type" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "AWS::Serverless::Function.FileSystemConfig": { "additionalProperties": false, "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" - }, - "RoleArn": { + "Arn": { "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + "LocalMountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.FunctionEnvironment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" + "Variables" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "AWS::Serverless::Function.FunctionSAMPT": { "additionalProperties": false, "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + "FunctionName": { + "type": "string" } }, "required": [ - "S3Output" + "FunctionName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "AWS::Serverless::Function.IAMPolicyDocument": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" + "Statement": { + "type": "object" } }, "required": [ - "MonitoringOutputs" + "Statement" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "AWS::Serverless::Function.IdentitySAMPT": { "additionalProperties": false, "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + "IdentityName": { + "type": "string" } }, "required": [ - "ClusterConfig" + "IdentityName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "AWS::Serverless::Function.IoTRuleEvent": { "additionalProperties": false, "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + "AwsIotSqlVersion": { + "type": "string" }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + "Sql": { + "type": "string" } }, "required": [ - "MonitoringJobDefinition" + "Sql" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "AWS::Serverless::Function.KeySAMPT": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + "KeyId": { + "type": "string" } }, + "required": [ + "KeyId" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { + "AWS::Serverless::Function.KinesisEvent": { "additionalProperties": false, "properties": { - "LocalPath": { - "type": "string" + "BatchSize": { + "type": "number" }, - "S3UploadMode": { + "Enabled": { + "type": "boolean" + }, + "StartingPosition": { "type": "string" }, - "S3Uri": { + "Stream": { "type": "string" } }, "required": [ - "LocalPath", - "S3Uri" + "StartingPosition", + "Stream" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "AWS::Serverless::Function.LogGroupSAMPT": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "LogGroupName": { "type": "string" } }, "required": [ - "ScheduleExpression" + "LogGroupName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "AWS::Serverless::Function.OnFailure": { "additionalProperties": false, "properties": { - "S3Uri": { + "Destination": { + "type": "string" + }, + "Type": { "type": "string" } }, + "required": [ + "Destination" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { "additionalProperties": false, "properties": { - "MaxRuntimeInSeconds": { + "ProvisionedConcurrentExecutions": { "type": "number" } }, "required": [ - "MaxRuntimeInSeconds" + "ProvisionedConcurrentExecutions" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "AWS::Serverless::Function.QueueSAMPT": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "QueueName": { + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "QueueName" ], "type": "object" }, - "AWS::SageMaker::NotebookInstance": { + "AWS::Serverless::Function.S3Event": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Bucket": { "type": "string" }, - "DependsOn": { + "Events": { "anyOf": [ { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "type": [ + "string" + ] }, { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } ] }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Filter": { + "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" } }, "required": [ - "Type", - "Properties" + "Bucket", + "Events" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "AWS::Serverless::Function.S3KeyFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - } + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type" + "Rules" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam": { + "AWS::Serverless::Function.S3KeyFilterRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type" + "Name", + "Value" ], "type": "object" }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "AWS::Serverless::Function.S3Location": { "additionalProperties": false, "properties": { - "CognitoClientId": { + "Bucket": { "type": "string" }, - "CognitoUserGroup": { + "Key": { "type": "string" }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + "Version": { + "type": "number" } }, "required": [ - "CognitoMemberDefinition" + "Bucket", + "Key" ], "type": "object" }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { + "AWS::Serverless::Function.S3NotificationFilter": { "additionalProperties": false, "properties": { - "NotificationTopicArn": { - "type": "string" + "S3Key": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" } }, "required": [ - "NotificationTopicArn" + "S3Key" ], "type": "object" }, - "AWS::SecretsManager::ResourcePolicy": { + "AWS::Serverless::Function.SAMPolicyTemplate": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AMIDescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CloudFormationDescribeStacksPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" }, - "Metadata": { - "type": "object" + "CloudWatchPutMetricPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "type": "object" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "ResourcePolicy", - "SecretId" - ], - "type": "object" + "DynamoDBCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" + }, + "EC2DescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "ElasticsearchHttpPostPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" + }, + "FilterLogEventsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" + }, + "KMSDecryptPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" + }, + "KinesisCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "KinesisStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" + }, + "RekognitionDetectOnlyPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionLabelsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionNoDataAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionWriteOnlyAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "S3CrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "S3ReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "SESBulkTemplatedCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESEmailTemplateCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "SESSendBouncePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SNSCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SNSPublishMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SQSPollerPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" }, - "Type": { - "enum": [ - "AWS::SecretsManager::ResourcePolicy" - ], - "type": "string" + "SQSSendMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" + }, + "VPCAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.SNSEvent": { + "additionalProperties": false, + "properties": { + "Topic": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Topic" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::Serverless::Function.SQSEvent": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" + "BatchSize": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], - "type": "string" + "Enabled": { + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Queue": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Queue" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "AWS::Serverless::Function.ScheduleEvent": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "VpcSecurityGroupIds": { + "Input": { "type": "string" }, - "VpcSubnetIds": { + "Schedule": { "type": "string" } }, "required": [ - "RotationType" + "Schedule" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { + "AWS::Serverless::Function.StateMachineSAMPT": { "additionalProperties": false, "properties": { - "AutomaticallyAfterDays": { - "type": "number" + "StateMachineName": { + "type": "string" } }, + "required": [ + "StateMachineName" + ], "type": "object" }, - "AWS::SecretsManager::Secret": { + "AWS::Serverless::Function.StreamSAMPT": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "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" - ], + "StreamName": { "type": "string" } }, "required": [ - "Type" + "StreamName" ], "type": "object" }, - "AWS::SecretsManager::Secret.GenerateSecretString": { + "AWS::Serverless::Function.TableSAMPT": { "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": { + "TableName": { "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, - "AWS::SecretsManager::SecretTargetAttachment": { + "AWS::Serverless::Function.TableStreamSAMPT": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], + "StreamName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "StreamName", + "TableName" ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::Serverless::Function.TopicSAMPT": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TopicName": { "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } + } + }, + "required": [ + "TopicName" + ], + "type": "object" + }, + "AWS::Serverless::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type" + "SecurityGroupIds", + "SubnetIds" ], "type": "object" }, - "AWS::Serverless::Api": { + "AWS::Serverless::HttpApi": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74090,25 +92568,13 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" + "AccessLogSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSettings" }, "Auth": { - "$ref": "#/definitions/AWS::Serverless::Api.Auth" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" + "$ref": "#/definitions/AWS::Serverless::HttpApi.Auth" }, - "Cors": { + "CorsConfiguration": { "anyOf": [ { "type": [ @@ -74116,10 +92582,13 @@ var SamSchema = `{ ] }, { - "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + "$ref": "#/definitions/AWS::Serverless::HttpApi.Cors" } ] }, + "DefaultRouteSettings": { + "type": "object" + }, "DefinitionBody": { "type": "object" }, @@ -74131,32 +92600,26 @@ var SamSchema = `{ ] }, { - "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDefinition" } ] }, - "EndpointConfiguration": { - "type": "string" - }, - "MethodSettings": { - "items": { - "type": "object" - }, - "type": "array" + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.DomainConfiguration" }, - "Name": { - "type": "string" + "FailOnWarnings": { + "type": "boolean" }, - "OpenApiVersion": { - "type": "string" + "RouteSettings": { + "type": "object" }, "StageName": { "type": "string" }, - "TracingEnabled": { - "type": "boolean" + "StageVariables": { + "type": "object" }, - "Variables": { + "Tags": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -74166,14 +92629,11 @@ var SamSchema = `{ "type": "object" } }, - "required": [ - "StageName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::Api" + "AWS::Serverless::HttpApi" ], "type": "string" }, @@ -74187,12 +92647,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Serverless::Api.AccessLogSetting": { + "AWS::Serverless::HttpApi.AccessLogSettings": { "additionalProperties": false, "properties": { "DestinationArn": { @@ -74204,11 +92663,11 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Serverless::Api.Auth": { + "AWS::Serverless::HttpApi.Auth": { "additionalProperties": false, "properties": { "Authorizers": { - "type": "object" + "$ref": "#/definitions/AWS::Serverless::HttpApi.OAuth2Authorizer" }, "DefaultAuthorizer": { "type": "string" @@ -74216,51 +92675,131 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::Serverless::Api.CorsConfiguration": { + "AWS::Serverless::HttpApi.Cors": { "additionalProperties": false, "properties": { "AllowCredentials": { "type": "boolean" }, "AllowHeaders": { - "type": "string" + "items": { + "type": "string" + }, + "type": "array" }, "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.DomainConfiguration": { + "additionalProperties": false, + "properties": { + "BasePath": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateArn": { "type": "string" }, - "AllowOrigin": { + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "type": "string" + }, + "Route53": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" + } + }, + "required": [ + "CertificateArn", + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiDefinition": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { "type": "string" }, - "MaxAge": { + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.OAuth2Authorizer": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentitySource": { "type": "string" + }, + "JwtConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "AllowOrigin" - ], "type": "object" }, - "AWS::Serverless::Api.S3Location": { + "AWS::Serverless::HttpApi.Route53Configuration": { "additionalProperties": false, "properties": { - "Bucket": { + "DistributionDomainName": { "type": "string" }, - "Key": { + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { "type": "string" }, - "Version": { - "type": "number" + "HostedZoneName": { + "type": "string" + }, + "IpV6": { + "type": "boolean" } }, - "required": [ - "Bucket", - "Key", - "Version" - ], "type": "object" }, - "AWS::Serverless::Application": { + "AWS::Serverless::LayerVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74292,54 +92831,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Location": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" - } - ] - }, - "NotificationArns": { + "CompatibleRuntimes": { "items": { "type": "string" }, "type": "array" }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ContentUri": { + "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Description": { + "type": "string" }, - "TimeoutInMinutes": { - "type": "number" + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + }, + "RetentionPolicy": { + "type": "string" } }, - "required": [ - "Location" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::Application" + "AWS::Serverless::LayerVersion" ], "type": "string" }, @@ -74353,28 +92871,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Application.ApplicationLocation": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "SemanticVersion": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "SemanticVersion" + "Type" ], "type": "object" }, - "AWS::Serverless::Function": { + "AWS::Serverless::SimpleTable": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74406,109 +92907,16 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoPublishAlias": { - "type": "string" - }, - "CodeUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Location" - } - ] - }, - "DeadLetterQueue": { - "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" - }, - "DeploymentPreference": { - "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::Function.EventSource" - } - }, - "type": "object" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + "PrimaryKey": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" }, - "ReservedConcurrentExecutions": { - "type": "number" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" }, - "Role": { - "type": "string" + "SSESpecification": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" }, - "Runtime": { + "TableName": { "type": "string" }, "Tags": { @@ -74519,27 +92927,13 @@ var SamSchema = `{ } }, "type": "object" - }, - "Timeout": { - "type": "number" - }, - "Tracing": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" } }, - "required": [ - "CodeUri", - "Handler", - "Runtime" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::Function" + "AWS::Serverless::SimpleTable" ], "type": "string" }, @@ -74553,107 +92947,14 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Function.AlexaSkillEvent": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.ApiEvent": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::Function.BucketSAMPT": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchLogsEvent": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - } - }, - "required": [ - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CollectionSAMPT": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "type": "string" - } - }, - "required": [ - "CollectionId" + "Type" ], "type": "object" }, - "AWS::Serverless::Function.DeadLetterQueue": { + "AWS::Serverless::SimpleTable.PrimaryKey": { "additionalProperties": false, "properties": { - "TargetArn": { + "Name": { "type": "string" }, "Type": { @@ -74661,413 +92962,335 @@ var SamSchema = `{ } }, "required": [ - "TargetArn", "Type" ], "type": "object" }, - "AWS::Serverless::Function.DeploymentPreference": { + "AWS::Serverless::SimpleTable.ProvisionedThroughput": { "additionalProperties": false, "properties": { - "Alarms": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Hooks": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Role": { - "type": "string" + "ReadCapacityUnits": { + "type": "number" }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Serverless::Function.OnFailure" - } - }, - "required": [ - "OnFailure" - ], - "type": "object" - }, - "AWS::Serverless::Function.DomainSAMPT": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" + "WriteCapacityUnits": { + "type": "number" } }, "required": [ - "DomainName" + "WriteCapacityUnits" ], "type": "object" }, - "AWS::Serverless::Function.DynamoDBEvent": { + "AWS::Serverless::SimpleTable.SSESpecification": { "additionalProperties": false, "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" - }, - "Enabled": { + "SSEEnabled": { "type": "boolean" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "StartingPosition": { - "type": "string" - }, - "Stream": { - "type": "string" } }, - "required": [ - "StartingPosition", - "Stream" - ], "type": "object" }, - "AWS::Serverless::Function.EmptySAMPT": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Serverless::Function.EventBridgeRuleEvent": { + "AWS::Serverless::StateMachine": { "additionalProperties": false, "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { + "DependsOn": { "anyOf": [ { - "$ref": "#/definitions/AWS::Serverless::Function.S3Event" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, { - "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" + } + ] }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" + } + }, + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" + "Logging": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" + "Name": { + "type": "string" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" + }, + "type": "array" + } + ] }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" + "Role": { + "type": "string" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" + "Type": { + "type": "string" } - ] + }, + "type": "object" }, "Type": { + "enum": [ + "AWS::Serverless::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Properties", "Type" ], "type": "object" }, - "AWS::Serverless::Function.FileSystemConfig": { + "AWS::Serverless::StateMachine.ApiEvent": { "additionalProperties": false, "properties": { - "Arn": { + "Method": { "type": "string" }, - "LocalMountPath": { + "Path": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.FunctionEnvironment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Variables" - ], - "type": "object" - }, - "AWS::Serverless::Function.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { + }, + "RestApiId": { "type": "string" } }, "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::Function.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { - "type": "object" - } - }, - "required": [ - "Statement" + "Method", + "Path" ], "type": "object" }, - "AWS::Serverless::Function.IdentitySAMPT": { + "AWS::Serverless::StateMachine.CloudWatchEventEvent": { "additionalProperties": false, "properties": { - "IdentityName": { + "EventBusName": { "type": "string" - } - }, - "required": [ - "IdentityName" - ], - "type": "object" - }, - "AWS::Serverless::Function.IoTRuleEvent": { - "additionalProperties": false, - "properties": { - "AwsIotSqlVersion": { + }, + "Input": { "type": "string" }, - "Sql": { + "InputPath": { "type": "string" + }, + "Pattern": { + "type": "object" } }, "required": [ - "Sql" + "Pattern" ], "type": "object" }, - "AWS::Serverless::Function.KeySAMPT": { + "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { "additionalProperties": false, "properties": { - "KeyId": { + "LogGroupArn": { "type": "string" } }, "required": [ - "KeyId" + "LogGroupArn" ], "type": "object" }, - "AWS::Serverless::Function.KinesisEvent": { + "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { "additionalProperties": false, "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "StartingPosition": { + "EventBusName": { "type": "string" }, - "Stream": { + "Input": { "type": "string" - } - }, - "required": [ - "StartingPosition", - "Stream" - ], - "type": "object" - }, - "AWS::Serverless::Function.LogGroupSAMPT": { - "additionalProperties": false, - "properties": { - "LogGroupName": { + }, + "InputPath": { "type": "string" + }, + "Pattern": { + "type": "object" } }, "required": [ - "LogGroupName" + "Pattern" ], "type": "object" }, - "AWS::Serverless::Function.OnFailure": { + "AWS::Serverless::StateMachine.EventSource": { "additionalProperties": false, "properties": { - "Destination": { - "type": "string" + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + } + ] }, "Type": { "type": "string" } }, "required": [ - "Destination" + "Properties", + "Type" ], "type": "object" }, - "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { + "AWS::Serverless::StateMachine.FunctionSAMPT": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "FunctionName": { + "type": "string" } }, "required": [ - "ProvisionedConcurrentExecutions" + "FunctionName" ], "type": "object" }, - "AWS::Serverless::Function.QueueSAMPT": { + "AWS::Serverless::StateMachine.IAMPolicyDocument": { "additionalProperties": false, "properties": { - "QueueName": { - "type": "string" + "Statement": { + "type": "object" } }, "required": [ - "QueueName" + "Statement" ], "type": "object" }, - "AWS::Serverless::Function.S3Event": { + "AWS::Serverless::StateMachine.LogDestination": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "Events": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - }, - "Filter": { - "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" } }, "required": [ - "Bucket", - "Events" + "CloudWatchLogsLogGroup" ], "type": "object" }, - "AWS::Serverless::Function.S3KeyFilter": { + "AWS::Serverless::StateMachine.LoggingConfiguration": { "additionalProperties": false, "properties": { - "Rules": { + "Destinations": { "items": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" + "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" }, "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3KeyFilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" }, - "Value": { + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { "type": "string" } }, "required": [ - "Name", - "Value" + "Destinations", + "IncludeExecutionData", + "Level" ], "type": "object" }, - "AWS::Serverless::Function.S3Location": { + "AWS::Serverless::StateMachine.S3Location": { "additionalProperties": false, "properties": { "Bucket": { @@ -75086,145 +93309,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Serverless::Function.S3NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::Serverless::Function.SAMPolicyTemplate": { + "AWS::Serverless::StateMachine.SAMPolicyTemplate": { "additionalProperties": false, "properties": { - "AMIDescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudFormationDescribeStacksPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudWatchPutMetricPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "DynamoDBCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" - }, - "EC2DescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "ElasticsearchHttpPostPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" - }, - "FilterLogEventsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" - }, - "KMSDecryptPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" - }, - "KinesisCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, - "KinesisStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" - }, - "RekognitionDetectOnlyPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionLabelsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionNoDataAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionWriteOnlyAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "S3CrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "S3ReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "SESBulkTemplatedCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESEmailTemplateCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "SESSendBouncePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SNSCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SNSPublishMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SQSPollerPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" - }, - "SQSSendMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" + "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" }, "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" - }, - "VPCAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.SNSEvent": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - } - }, - "required": [ - "Topic" - ], - "type": "object" - }, - "AWS::Serverless::Function.SQSEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "Queue": { - "type": "string" + "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" } }, - "required": [ - "Queue" - ], "type": "object" }, - "AWS::Serverless::Function.ScheduleEvent": { + "AWS::Serverless::StateMachine.ScheduleEvent": { "additionalProperties": false, "properties": { "Input": { @@ -75239,7 +93336,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Serverless::Function.StateMachineSAMPT": { + "AWS::Serverless::StateMachine.StateMachineSAMPT": { "additionalProperties": false, "properties": { "StateMachineName": { @@ -75251,81 +93348,193 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Serverless::Function.StreamSAMPT": { + "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { - "StreamName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "StreamName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TableSAMPT": { - "additionalProperties": false, - "properties": { - "TableName": { + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::Function.TableStreamSAMPT": { + "AWS::ServiceCatalog::CloudFormationProduct": { "additionalProperties": false, "properties": { - "StreamName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StreamName", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::Function.TopicSAMPT": { + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { "additionalProperties": false, "properties": { - "TopicName": { + "Description": { "type": "string" - } - }, - "required": [ - "TopicName" - ], - "type": "object" - }, - "AWS::Serverless::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" } }, "required": [ - "SecurityGroupIds", - "SubnetIds" + "Info" ], "type": "object" }, - "AWS::Serverless::HttpApi": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75357,72 +93566,57 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSettings" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Auth" + "AcceptLanguage": { + "type": "string" }, - "CorsConfiguration": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Cors" - } - ] + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "DefaultRouteSettings": { - "type": "object" + "PathId": { + "type": "string" }, - "DefinitionBody": { - "type": "object" + "PathName": { + "type": "string" }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDefinition" - } - ] + "ProductId": { + "type": "string" }, - "Domain": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.DomainConfiguration" + "ProductName": { + "type": "string" }, - "FailOnWarnings": { - "type": "boolean" + "ProvisionedProductName": { + "type": "string" }, - "RouteSettings": { - "type": "object" + "ProvisioningArtifactId": { + "type": "string" }, - "StageName": { + "ProvisioningArtifactName": { "type": "string" }, - "StageVariables": { - "type": "object" + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::HttpApi" + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" }, @@ -75440,155 +93634,135 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Serverless::HttpApi.AccessLogSettings": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { + "Key": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.Auth": { - "additionalProperties": false, - "properties": { - "Authorizers": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.OAuth2Authorizer" }, - "DefaultAuthorizer": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Serverless::HttpApi.Cors": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { "additionalProperties": false, "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { + "StackSetAccounts": { "items": { "type": "string" }, "type": "array" }, - "AllowMethods": { - "items": { - "type": "string" - }, - "type": "array" + "StackSetFailureToleranceCount": { + "type": "number" }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "StackSetFailureTolerancePercentage": { + "type": "number" }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "StackSetMaxConcurrencyCount": { + "type": "number" }, - "MaxAge": { + "StackSetMaxConcurrencyPercentage": { "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.DomainConfiguration": { - "additionalProperties": false, - "properties": { - "BasePath": { + }, + "StackSetOperationType": { + "type": "string" + }, + "StackSetRegions": { "items": { "type": "string" }, "type": "array" - }, - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "type": "string" - }, - "Route53": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" } }, - "required": [ - "CertificateArn", - "DomainName" - ], "type": "object" }, - "AWS::Serverless::HttpApi.HttpApiDefinition": { + "AWS::ServiceCatalog::LaunchNotificationConstraint": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Version": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.OAuth2Authorizer": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IdentitySource": { - "type": "string" + "Metadata": { + "type": "object" }, - "JwtConfiguration": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { "type": "string" } }, + "required": [ + "NotificationArns", + "PortfolioId", + "ProductId" + ], "type": "object" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.Route53Configuration": { - "additionalProperties": false, - "properties": { - "DistributionDomainName": { - "type": "string" }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchNotificationConstraint" + ], "type": "string" }, - "HostedZoneName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "IpV6": { - "type": "boolean" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Serverless::LayerVersion": { + "AWS::ServiceCatalog::LaunchRoleConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75620,33 +93794,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentUri": { + "AcceptLanguage": { "type": "string" }, "Description": { "type": "string" }, - "LayerName": { + "LocalRoleName": { "type": "string" }, - "LicenseInfo": { + "PortfolioId": { "type": "string" }, - "RetentionPolicy": { + "ProductId": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, + "required": [ + "PortfolioId", + "ProductId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::LayerVersion" + "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" }, @@ -75660,11 +93835,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::SimpleTable": { + "AWS::ServiceCatalog::LaunchTemplateConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75696,33 +93872,32 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PrimaryKey": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" + "AcceptLanguage": { + "type": "string" }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" + "Description": { + "type": "string" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" + "PortfolioId": { + "type": "string" }, - "TableName": { + "ProductId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Rules": { + "type": "string" } }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::SimpleTable" + "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "type": "string" }, @@ -75736,50 +93911,90 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::SimpleTable.PrimaryKey": { + "AWS::ServiceCatalog::Portfolio": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DisplayName", + "ProviderName" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::ServiceCatalog::Portfolio" + ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" }, - "WriteCapacityUnits": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, + "Type", + "Properties" + ], "type": "object" }, - "AWS::Serverless::StateMachine": { + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75811,96 +94026,29 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Definition": { - "type": "object" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" - } - ] - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" - } - }, - "type": "object" - }, - "Logging": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" - }, - "Name": { + "AcceptLanguage": { "type": "string" }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "Role": { + "PortfolioId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "PrincipalARN": { + "type": "string" }, - "Type": { + "PrincipalType": { "type": "string" } }, + "required": [ + "PortfolioId", + "PrincipalARN", + "PrincipalType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::StateMachine" + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" }, @@ -75914,230 +94062,84 @@ var SamSchema = `{ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.ApiEvent": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "required": [ - "LogGroupArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { + "AWS::ServiceCatalog::PortfolioProductAssociation": { "additionalProperties": false, "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { + "DependsOn": { "anyOf": [ { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } ] }, - "Type": { - "type": "string" - } - }, - "required": [ - "Properties", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { + "Metadata": { "type": "object" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" - } - }, - "required": [ - "CloudWatchLogsLogGroup" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "required": [ - "Destinations", - "IncludeExecutionData", - "Level" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.SAMPolicyTemplate": { - "additionalProperties": false, - "properties": { - "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" }, - "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::StateMachine.ScheduleEvent": { - "additionalProperties": false, - "properties": { - "Input": { + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioProductAssociation" + ], "type": "string" }, - "Schedule": { - "type": "string" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.StateMachineSAMPT": { - "additionalProperties": false, - "properties": { - "StateMachineName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StateMachineName" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::ServiceCatalog::PortfolioShare": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76172,18 +94174,25 @@ var SamSchema = `{ "AcceptLanguage": { "type": "string" }, + "AccountId": { + "type": "string" + }, "PortfolioId": { "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" } }, "required": [ + "AccountId", "PortfolioId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" }, @@ -76202,7 +94211,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::ServiceCatalog::ResourceUpdateConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76240,50 +94249,26 @@ var SamSchema = `{ "Description": { "type": "string" }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { + "PortfolioId": { "type": "string" }, - "SupportEmail": { + "ProductId": { "type": "string" }, - "SupportUrl": { + "TagUpdateOnProvisionedProduct": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" }, @@ -76302,28 +94287,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::ServiceCatalog::ServiceAction": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76358,54 +94322,32 @@ var SamSchema = `{ "AcceptLanguage": { "type": "string" }, - "NotificationArns": { + "Definition": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" }, "type": "array" }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { + "DefinitionType": { "type": "string" }, - "ProvisioningArtifactId": { + "Description": { "type": "string" }, - "ProvisioningArtifactName": { + "Name": { "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + "AWS::ServiceCatalog::ServiceAction" ], "type": "string" }, @@ -76419,11 +94361,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { "additionalProperties": false, "properties": { "Key": { @@ -76439,40 +94382,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "AWS::ServiceCatalog::ServiceActionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76504,35 +94414,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { + "ProductId": { "type": "string" }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { + "ProvisioningArtifactId": { "type": "string" }, - "ProductId": { + "ServiceActionId": { "type": "string" } }, "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" + "AWS::ServiceCatalog::ServiceActionAssociation" ], "type": "string" }, @@ -76551,7 +94452,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { + "AWS::ServiceCatalog::StackSetConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76586,10 +94487,19 @@ var SamSchema = `{ "AcceptLanguage": { "type": "string" }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, "Description": { "type": "string" }, - "LocalRoleName": { + "ExecutionRole": { "type": "string" }, "PortfolioId": { @@ -76598,95 +94508,31 @@ var SamSchema = `{ "ProductId": { "type": "string" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "RegionList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { + "StackInstanceControl": { "type": "string" } }, "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", "PortfolioId", "ProductId", - "Rules" + "RegionList", + "StackInstanceControl" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" + "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" }, @@ -76705,7 +94551,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::Portfolio": { + "AWS::ServiceCatalog::TagOption": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76737,34 +94583,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" + "Active": { + "type": "boolean" }, - "DisplayName": { + "Key": { "type": "string" }, - "ProviderName": { + "Value": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DisplayName", - "ProviderName" + "Key", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::Portfolio" + "AWS::ServiceCatalog::TagOption" ], "type": "string" }, @@ -76783,7 +94620,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "AWS::ServiceCatalog::TagOptionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76815,29 +94652,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { + "ResourceId": { "type": "string" }, - "PrincipalType": { + "TagOptionId": { "type": "string" } }, "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" + "ResourceId", + "TagOptionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" }, @@ -76856,7 +94686,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { + "AWS::ServiceCatalogAppRegistry::Application": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76888,28 +94718,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "Description": { "type": "string" }, - "ProductId": { + "Name": { "type": "string" }, - "SourcePortfolioId": { - "type": "string" + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PortfolioId", - "ProductId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" + "AWS::ServiceCatalogAppRegistry::Application" ], "type": "string" }, @@ -76928,7 +94760,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioShare": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76960,25 +94792,34 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" + "Attributes": { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes" }, - "AccountId": { + "Description": { "type": "string" }, - "PortfolioId": { + "Name": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "AccountId", - "PortfolioId" + "Attributes", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioShare" + "AWS::ServiceCatalogAppRegistry::AttributeGroup" ], "type": "string" }, @@ -76997,7 +94838,12 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77029,32 +94875,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { + "Application": { "type": "string" }, - "TagUpdateOnProvisionedProduct": { + "AttributeGroup": { "type": "string" } }, "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" + "Application", + "AttributeGroup" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" ], "type": "string" }, @@ -77073,7 +94909,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::StackSetConstraint": { + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77105,55 +94941,26 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { + "Application": { "type": "string" }, - "ProductId": { + "Resource": { "type": "string" }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { + "ResourceType": { "type": "string" } }, "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" + "Application", + "Resource", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" ], "type": "string" }, @@ -77172,7 +94979,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::TagOption": { + "AWS::ServiceDiscovery::HttpNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77204,25 +95011,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Active": { - "type": "boolean" - }, - "Key": { + "Description": { "type": "string" }, - "Value": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Key", - "Value" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOption" + "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" }, @@ -77241,7 +95050,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceCatalog::TagOptionAssociation": { + "AWS::ServiceDiscovery::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77273,22 +95082,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResourceId": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { "type": "string" }, - "TagOptionId": { + "ServiceId": { "type": "string" } }, "required": [ - "ResourceId", - "TagOptionId" + "InstanceAttributes", + "ServiceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" + "AWS::ServiceDiscovery::Instance" ], "type": "string" }, @@ -77307,7 +95119,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::HttpNamespace": { + "AWS::ServiceDiscovery::PrivateDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77350,16 +95162,20 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Vpc": { + "type": "string" } }, "required": [ - "Name" + "Name", + "Vpc" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" + "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" }, @@ -77378,7 +95194,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::Instance": { + "AWS::ServiceDiscovery::PublicDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77410,25 +95226,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { + "Description": { "type": "string" }, - "ServiceId": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "InstanceAttributes", - "ServiceId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Instance" + "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" }, @@ -77447,7 +95265,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "AWS::ServiceDiscovery::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77482,28 +95300,33 @@ var SamSchema = `{ "Description": { "type": "string" }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, "Name": { "type": "string" }, + "NamespaceId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Vpc": { - "type": "string" } }, - "required": [ - "Name", - "Vpc" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" + "AWS::ServiceDiscovery::Service" ], "type": "string" }, @@ -77517,12 +95340,75 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77554,27 +95440,33 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "Name": { + "Principal": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" } }, "required": [ - "Name" + "Action", + "Principal", + "ProfileName", + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" + "AWS::Signer::ProfilePermission" ], "type": "string" }, @@ -77593,7 +95485,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ServiceDiscovery::Service": { + "AWS::Signer::SigningProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77625,23 +95517,11 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { + "PlatformId": { "type": "string" }, - "NamespaceId": { - "type": "string" + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" }, "Tags": { "items": { @@ -77650,11 +95530,14 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "PlatformId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Service" + "AWS::Signer::SigningProfile" ], "type": "string" }, @@ -77668,69 +95551,18 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceDiscovery::Service.DnsConfig": { + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { "additionalProperties": false, "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, "Type": { "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { + "Value": { "type": "number" } }, @@ -77852,6 +95684,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, "DefinitionS3Location": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" }, @@ -77859,7 +95694,13 @@ var SamSchema = `{ "type": "string" }, "DefinitionSubstitutions": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" @@ -77918,7 +95759,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "AWS::StepFunctions::StateMachine.Definition": { "additionalProperties": false, "properties": {}, "type": "object" @@ -78117,6 +95958,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "Handler" + ], "type": "object" }, "AWS::Synthetics::Canary.RunConfig": { @@ -78125,6 +95969,15 @@ var SamSchema = `{ "ActiveTracing": { "type": "boolean" }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "MemoryInMB": { "type": "number" }, @@ -78132,9 +95985,6 @@ var SamSchema = `{ "type": "number" } }, - "required": [ - "TimeoutInSeconds" - ], "type": "object" }, "AWS::Synthetics::Canary.Schedule": { @@ -78353,6 +96203,9 @@ var SamSchema = `{ "Certificate": { "type": "string" }, + "Domain": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -78417,7 +96270,7 @@ var SamSchema = `{ }, "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + "type": "string" }, "type": "array" }, @@ -78457,11 +96310,6 @@ var SamSchema = `{ "properties": {}, "type": "object" }, - "AWS::Transfer::Server.SecurityGroupId": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -78509,6 +96357,9 @@ var SamSchema = `{ "Policy": { "type": "string" }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, "Role": { "type": "string" }, @@ -78575,6 +96426,28 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, "AWS::Transfer::User.SshPublicKey": { "additionalProperties": false, "properties": {}, @@ -82562,6 +100435,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Athena::WorkGroup" }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -82625,6 +100501,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CloudFormation::Macro" }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, { "$ref": "#/definitions/AWS::CloudFormation::Stack" }, @@ -82646,9 +100534,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CloudFront::Distribution" }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, { "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, { "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" }, @@ -82673,6 +100567,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CloudWatch::InsightRule" }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, @@ -82787,6 +100684,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Config::RemediationConfiguration" }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, { "$ref": "#/definitions/AWS::DAX::Cluster" }, @@ -82817,15 +100717,60 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, { "$ref": "#/definitions/AWS::Detective::Graph" }, { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -82916,6 +100861,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, { "$ref": "#/definitions/AWS::EC2::NetworkInterface" }, @@ -82979,6 +100930,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -83036,6 +101002,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::VolumeAttachment" }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -83066,6 +101041,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EFS::MountTarget" }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, { "$ref": "#/definitions/AWS::EKS::Cluster" }, @@ -83090,9 +101068,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EMR::Step" }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -83108,6 +101098,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, { "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" }, @@ -83153,6 +101149,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -83231,6 +101236,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Glue::Partition" }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, { "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" }, @@ -83291,6 +101308,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, @@ -83321,12 +101341,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IAM::ManagedPolicy" }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, { "$ref": "#/definitions/AWS::IAM::Policy" }, { "$ref": "#/definitions/AWS::IAM::Role" }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, { "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" }, @@ -83336,6 +101365,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, { "$ref": "#/definitions/AWS::IVS::Channel" }, @@ -83348,6 +101380,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" }, @@ -83381,12 +101416,27 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoT1Click::Project" }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, { "$ref": "#/definitions/AWS::IoT::Authorizer" }, { "$ref": "#/definitions/AWS::IoT::Certificate" }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, { "$ref": "#/definitions/AWS::IoT::Policy" }, @@ -83396,6 +101446,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -83405,6 +101461,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoT::TopicRule" }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, { "$ref": "#/definitions/AWS::IoTAnalytics::Channel" }, @@ -83423,18 +101482,45 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Asset" }, { "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, { "$ref": "#/definitions/AWS::KMS::Alias" }, @@ -83492,6 +101578,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Lambda::Alias" }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, { "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" }, @@ -83513,6 +101602,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Lambda::Version" }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, @@ -83528,9 +101623,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, { "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" }, @@ -83546,6 +101647,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -83597,6 +101713,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, { "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" }, @@ -83714,6 +101842,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::QLDB::Stream" }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -83747,6 +101887,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::RDS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, { "$ref": "#/definitions/AWS::RDS::OptionGroup" }, @@ -83786,18 +101929,27 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, { "$ref": "#/definitions/AWS::Route53::HealthCheck" }, { "$ref": "#/definitions/AWS::Route53::HostedZone" }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, { "$ref": "#/definitions/AWS::Route53::RecordSet" }, { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, { "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" }, @@ -83822,6 +101974,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, { "$ref": "#/definitions/AWS::SDB::Domain" }, @@ -83885,21 +102052,63 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::SSO::Assignment" }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, { "$ref": "#/definitions/AWS::SageMaker::Endpoint" }, { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" }, @@ -83909,6 +102118,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, { "$ref": "#/definitions/AWS::SageMaker::Workteam" }, @@ -83981,6 +102199,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" }, @@ -83990,6 +102214,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, { "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" }, @@ -84005,6 +102241,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ServiceDiscovery::Service" }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, { "$ref": "#/definitions/AWS::StepFunctions::Activity" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index bd60320d04..43f0ac5c59 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -34,6 +34,9 @@ "Properties": { "additionalProperties": false, "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, "CertificateAuthorityArn": { "type": "string" }, @@ -48,6 +51,9 @@ }, "Validity": { "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" } }, "required": [ @@ -79,6 +85,282 @@ ], "type": "object" }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.CertificatePolicyList": { + "additionalProperties": false, + "properties": { + "CertificatePolicyList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsageList": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.CertificatePolicyList" + }, + "ExtendedKeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsageList" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralNameList" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralNameList": { + "additionalProperties": false, + "properties": { + "GeneralNameList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfoList" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfoList": { + "additionalProperties": false, + "properties": { + "PolicyQualifierInfoList": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::Certificate.Validity": { "additionalProperties": false, "properties": { @@ -127,6 +409,9 @@ "Properties": { "additionalProperties": false, "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, "KeyAlgorithm": { "type": "string" }, @@ -178,6 +463,34 @@ ], "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { "additionalProperties": false, "properties": { @@ -196,6 +509,113 @@ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { "additionalProperties": false, "properties": { @@ -253,6 +673,18 @@ }, "type": "object" }, + "AWS::ACMPCA::CertificateAuthority.SubjectInformationAccess": { + "additionalProperties": false, + "properties": { + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ACMPCA::CertificateAuthorityActivation": { "additionalProperties": false, "properties": { @@ -773,6 +1205,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AuthenticationStrategy": { + "type": "string" + }, "Data": { "type": "string" }, @@ -966,6 +1401,9 @@ "BuildSpec": { "type": "string" }, + "CustomHeaders": { + "type": "string" + }, "CustomRules": { "items": { "$ref": "#/definitions/AWS::Amplify::App.CustomRule" @@ -4157,6 +4595,9 @@ "RequestTemplates": { "type": "object" }, + "ResponseParameters": { + "type": "object" + }, "TemplateSelectionExpression": { "type": "string" }, @@ -4194,285 +4635,313 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { + "AWS::ApiGatewayV2::Integration.ResponseParameter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], + "Destination": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Source": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Destination", + "Source" ], "type": "object" }, - "AWS::ApiGatewayV2::Model": { + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ApiGatewayV2::Route": { + "AWS::ApiGatewayV2::Integration.TlsConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ServerNameToVerify": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse": { + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -4598,6 +5067,9 @@ "AccessLogSettings": { "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" }, + "AccessPolicyId": { + "type": "string" + }, "ApiId": { "type": "string" }, @@ -5748,6 +6220,9 @@ "AccessToken": { "type": "string" }, + "ClientCredentialsArn": { + "type": "string" + }, "ConnectorOAuthRequest": { "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" }, @@ -6159,6 +6634,9 @@ }, "Snowflake": { "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" } }, "type": "object" @@ -6236,6 +6714,27 @@ ], "type": "object" }, + "AWS::AppFlow::Flow.IdFieldNamesList": { + "additionalProperties": false, + "properties": { + "IdFieldNamesList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppFlow::Flow.InforNexusSourceProperties": { "additionalProperties": false, "properties": { @@ -6349,8 +6848,14 @@ "ErrorHandlingConfig": { "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" }, + "IdFieldNames": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IdFieldNamesList" + }, "Object": { "type": "string" + }, + "WriteOperationType": { + "type": "string" } }, "required": [ @@ -6515,6 +7020,9 @@ "ConnectorType": { "type": "string" }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, "SourceConnectorProperties": { "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" } @@ -6599,6 +7107,43 @@ ], "type": "object" }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { @@ -6678,7 +7223,6 @@ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -6867,9 +7411,6 @@ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -6888,8 +7429,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -6970,7 +7510,6 @@ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7438,8 +7977,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -7464,6 +8002,30 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { "additionalProperties": false, "properties": { @@ -7494,6 +8056,9 @@ "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7512,6 +8077,33 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { "additionalProperties": false, "properties": { @@ -7524,6 +8116,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { "additionalProperties": false, "properties": { @@ -7558,9 +8162,39 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" }, @@ -7584,6 +8218,9 @@ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" } }, "required": [ @@ -7612,6 +8249,9 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" } }, "type": "object" @@ -7632,6 +8272,45 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { "additionalProperties": false, "properties": { @@ -7681,6 +8360,9 @@ "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" } @@ -7717,6 +8399,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -7725,6 +8419,9 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" } }, "type": "object" @@ -7782,8 +8479,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -7885,6 +8581,9 @@ "AWS::AppMesh::VirtualNode.ClientPolicyTls": { "additionalProperties": false, "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, "Enforce": { "type": "boolean" }, @@ -7903,6 +8602,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { "additionalProperties": false, "properties": { @@ -8004,9 +8715,15 @@ "AWS::AppMesh::VirtualNode.Listener": { "additionalProperties": false, "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, "HealthCheck": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, "PortMapping": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" }, @@ -8048,6 +8765,9 @@ }, "Mode": { "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" } }, "required": [ @@ -8076,6 +8796,9 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" } }, "type": "object" @@ -8096,6 +8819,45 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, "AWS::AppMesh::VirtualNode.Logging": { "additionalProperties": false, "properties": { @@ -8105,6 +8867,30 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.PortMapping": { "additionalProperties": false, "properties": { @@ -8133,6 +8919,30 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TcpTimeout": { "additionalProperties": false, "properties": { @@ -8145,6 +8955,9 @@ "AWS::AppMesh::VirtualNode.TlsValidationContext": { "additionalProperties": false, "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, "Trust": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" } @@ -8181,6 +8994,18 @@ ], "type": "object" }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { "additionalProperties": false, "properties": { @@ -8189,8 +9014,68 @@ }, "File": { "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" } }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], "type": "object" }, "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { @@ -8220,6 +9105,18 @@ }, "type": "object" }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { "additionalProperties": false, "properties": { @@ -8288,8 +9185,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -10721,6 +11617,9 @@ }, "type": "array" }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, "Logs": { "items": { "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" @@ -10755,6 +11654,21 @@ ], "type": "object" }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationInsights::Application.Log": { "additionalProperties": false, "properties": { @@ -10932,7 +11846,10 @@ "type": "object" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::DataCatalog.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "Type": { "type": "string" @@ -10965,18 +11882,6 @@ ], "type": "object" }, - "AWS::Athena::DataCatalog.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Athena::NamedQuery": { "additionalProperties": false, "properties": { @@ -11097,7 +12002,10 @@ "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.Tags" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "WorkGroupConfiguration": { "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" @@ -11147,6 +12055,18 @@ ], "type": "object" }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Athena::WorkGroup.ResultConfiguration": { "additionalProperties": false, "properties": { @@ -11177,18 +12097,6 @@ }, "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": { @@ -11198,6 +12106,9 @@ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11219,6 +12130,9 @@ "EnforceWorkGroupConfiguration": { "type": "boolean" }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, "PublishCloudWatchMetricsEnabled": { "type": "boolean" }, @@ -11234,6 +12148,199 @@ }, "type": "object" }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -11657,7 +12764,7 @@ "type": "string" }, "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOption" + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" }, "PlacementTenancy": { "type": "string" @@ -11750,7 +12857,7 @@ ], "type": "object" }, - "AWS::AutoScaling::LaunchConfiguration.MetadataOption": { + "AWS::AutoScaling::LaunchConfiguration.MetadataOptions": { "additionalProperties": false, "properties": { "HttpEndpoint": { @@ -12738,6 +13845,12 @@ "type": "string" }, "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "EncryptionKeyArn": { @@ -12882,6 +13995,12 @@ "DesiredvCpus": { "type": "number" }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, "Ec2KeyPair": { "type": "string" }, @@ -12932,15 +14051,27 @@ } }, "required": [ - "InstanceRole", - "InstanceTypes", "MaxvCpus", - "MinvCpus", "Subnets", "Type" ], "type": "object" }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { "additionalProperties": false, "properties": { @@ -13000,6 +14131,15 @@ "Parameters": { "type": "object" }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, "RetryStrategy": { "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" }, @@ -13057,6 +14197,9 @@ "ExecutionRoleArn": { "type": "string" }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, "Image": { "type": "string" }, @@ -13081,6 +14224,9 @@ }, "type": "array" }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, "Privileged": { "type": "boolean" }, @@ -13153,6 +14299,36 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.LinuxParameters": { "additionalProperties": false, "properties": { @@ -13219,6 +14395,15 @@ }, "type": "object" }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition.NodeProperties": { "additionalProperties": false, "properties": { @@ -13274,6 +14459,12 @@ "properties": { "Attempts": { "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" } }, "type": "object" @@ -13791,6 +14982,12 @@ "properties": { "KeyspaceName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -13865,6 +15062,9 @@ }, "type": "array" }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, "RegularColumns": { "items": { "$ref": "#/definitions/AWS::Cassandra::Table.Column" @@ -13873,6 +15073,12 @@ }, "TableName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -14195,6 +15401,9 @@ "Description": { "type": "string" }, + "ImageId": { + "type": "string" + }, "InstanceType": { "type": "string" }, @@ -14294,6 +15503,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Properties": { + "type": "object" + }, "ServiceToken": { "type": "string" } @@ -14399,7 +15611,7 @@ ], "type": "object" }, - "AWS::CloudFormation::Stack": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14431,42 +15643,21 @@ "Properties": { "additionalProperties": false, "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Arn": { + "type": "string" }, - "TemplateURL": { + "ModuleName": { "type": "string" }, - "TimeoutInMinutes": { - "type": "number" + "VersionId": { + "type": "string" } }, - "required": [ - "TemplateURL" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Stack" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -14480,12 +15671,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::CloudFormation::StackSet": { + "AWS::CloudFormation::ModuleVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14517,63 +15707,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AdministrationRoleARN": { + "ModuleName": { "type": "string" }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" - }, - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "ExecutionRoleName": { - "type": "string" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "PermissionModel": { - "type": "string" - }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "type": "array" - }, - "StackSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { + "ModulePackage": { "type": "string" } }, + "required": [ + "ModuleName", + "ModulePackage" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::StackSet" + "AWS::CloudFormation::ModuleVersion" ], "type": "string" }, @@ -14587,111 +15736,457 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.AutoDeployment": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { - "additionalProperties": false, - "properties": { - "Accounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationalUnitIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.OperationPreferences": { - "additionalProperties": false, - "properties": { - "FailureToleranceCount": { - "type": "number" - }, - "FailureTolerancePercentage": { - "type": "number" - }, - "MaxConcurrentCount": { - "type": "number" - }, - "MaxConcurrentPercentage": { - "type": "number" - }, - "RegionOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterKey", - "ParameterValue" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.StackInstances": { - "additionalProperties": false, - "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" - }, - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DeploymentTargets", - "Regions" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::WaitCondition": { + "AWS::CloudFormation::ResourceDefaultVersion": { "additionalProperties": false, "properties": { - "CreationPolicy": { - "type": "object" - }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateURL": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdministrationRoleARN": { + "type": "string" + }, + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" + }, + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "ExecutionRoleName": { + "type": "string" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "PermissionModel": { + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "type": "array" + }, + "StackSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + } + }, + "required": [ + "PermissionModel", + "StackSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::StackSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.AutoDeployment": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "Accounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "FailureToleranceCount": { + "type": "number" + }, + "FailureTolerancePercentage": { + "type": "number" + }, + "MaxConcurrentCount": { + "type": "number" + }, + "MaxConcurrentPercentage": { + "type": "number" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterKey": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterKey", + "ParameterValue" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::WaitCondition": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -15180,6 +16675,12 @@ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15320,6 +16821,12 @@ "TargetOriginId": { "type": "string" }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "TrustedSigners": { "items": { "type": "string" @@ -15696,6 +17203,90 @@ }, "type": "object" }, + "AWS::CloudFront::KeyGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" + } + }, + "required": [ + "KeyGroupConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::KeyGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Items", + "Name" + ], + "type": "object" + }, "AWS::CloudFront::OriginRequestPolicy": { "additionalProperties": false, "properties": { @@ -15839,6 +17430,91 @@ ], "type": "object" }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, "AWS::CloudFront::RealtimeLogConfig": { "additionalProperties": false, "properties": { @@ -16832,6 +18508,108 @@ "properties": {}, "type": "object" }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, "AWS::CodeArtifact::Domain": { "additionalProperties": false, "properties": { @@ -16867,8 +18645,17 @@ "DomainName": { "type": "string" }, + "EncryptionKey": { + "type": "string" + }, "PermissionsPolicyDocument": { "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -16932,6 +18719,12 @@ "Description": { "type": "string" }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, "ExternalConnections": { "items": { "type": "string" @@ -16944,6 +18737,12 @@ "RepositoryName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Upstreams": { "items": { "type": "string" @@ -16952,6 +18751,7 @@ } }, "required": [ + "DomainName", "RepositoryName" ], "type": "object" @@ -17021,6 +18821,9 @@ "Cache": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" }, + "ConcurrentBuildLimit": { + "type": "number" + }, "Description": { "type": "string" }, @@ -17610,6 +19413,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "type": "string" + }, "EncryptionDisabled": { "type": "boolean" }, @@ -18498,6 +20304,12 @@ "Owner": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" } @@ -19137,6 +20949,9 @@ "Code": { "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" }, + "ConnectionArn": { + "type": "string" + }, "EnableIssues": { "type": "boolean" }, @@ -19157,7 +20972,6 @@ } }, "required": [ - "RepositoryAccessToken", "RepositoryName", "RepositoryOwner" ], @@ -19828,6 +21642,30 @@ }, "type": "object" }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cognito::UserPool.DeviceConfiguration": { "additionalProperties": false, "properties": { @@ -19882,12 +21720,21 @@ "CreateAuthChallenge": { "type": "string" }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, "CustomMessage": { "type": "string" }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, "DefineAuthChallenge": { "type": "string" }, + "KMSKeyID": { + "type": "string" + }, "PostAuthentication": { "type": "string" }, @@ -20205,6 +22052,9 @@ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -22016,6 +23866,81 @@ }, "type": "object" }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DAX::Cluster": { "additionalProperties": false, "properties": { @@ -22309,6 +24234,12 @@ }, "State": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" @@ -22333,6 +24264,25 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CreateRule": { "additionalProperties": false, "properties": { @@ -22345,6 +24295,9 @@ "IntervalUnit": { "type": "string" }, + "Location": { + "type": "string" + }, "Times": { "items": { "type": "string" @@ -22354,6 +24307,25 @@ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -22385,13 +24357,67 @@ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" }, + "Target": { + "type": "string" + }, "TargetRegion": { "type": "string" } }, "required": [ - "Encrypted", - "TargetRegion" + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CmkArn": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + } + }, + "required": [ + "Encrypted" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventParameters": { + "additionalProperties": false, + "properties": { + "DescriptionRegex": { + "type": "string" + }, + "EventType": { + "type": "string" + }, + "SnapshotOwner": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "EventType", + "SnapshotOwner" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.EventSource": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" ], "type": "object" }, @@ -22431,12 +24457,27 @@ "AWS::DLM::LifecyclePolicy.PolicyDetails": { "additionalProperties": false, "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, "PolicyType": { "type": "string" }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, "ResourceTypes": { "items": { "type": "string" @@ -22456,11 +24497,6 @@ "type": "array" } }, - "required": [ - "ResourceTypes", - "Schedules", - "TargetTags" - ], "type": "object" }, "AWS::DLM::LifecyclePolicy.RetainRule": { @@ -22502,6 +24538,12 @@ "RetainRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule" }, + "ShareRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule" + }, + "type": "array" + }, "TagsToAdd": { "items": { "$ref": "#/definitions/Tag" @@ -22517,6 +24559,24 @@ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.ShareRule": { + "additionalProperties": false, + "properties": { + "TargetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UnshareInterval": { + "type": "number" + }, + "UnshareIntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -22619,6 +24679,9 @@ "DatabaseName": { "type": "string" }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, "DynamoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" }, @@ -22637,6 +24700,9 @@ "ExtraConnectionAttributes": { "type": "string" }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, "KafkaSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" }, @@ -22646,18 +24712,33 @@ "KmsKeyId": { "type": "string" }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, "MongoDbSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, "NeptuneSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, "Password": { "type": "string" }, "Port": { "type": "number" }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -22667,6 +24748,9 @@ "SslMode": { "type": "string" }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22704,6 +24788,18 @@ ], "type": "object" }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.DynamoDbSettings": { "additionalProperties": false, "properties": { @@ -22731,6 +24827,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.KafkaSettings": { "additionalProperties": false, "properties": { @@ -22758,6 +24866,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.MongoDbSettings": { "additionalProperties": false, "properties": { @@ -22788,6 +24908,12 @@ "Port": { "type": "number" }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, "ServerName": { "type": "string" }, @@ -22797,6 +24923,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.NeptuneSettings": { "additionalProperties": false, "properties": { @@ -22824,6 +24962,48 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::Endpoint.S3Settings": { "additionalProperties": false, "properties": { @@ -22851,6 +25031,18 @@ }, "type": "object" }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DMS::EventSubscription": { "additionalProperties": false, "properties": { @@ -23227,7 +25419,7 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline": { + "AWS::DataBrew::Dataset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23259,49 +25451,149 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { + "Format": { "type": "string" }, + "FormatOptions": { + "type": "object" + }, + "Input": { + "type": "object" + }, "Name": { "type": "string" }, - "ParameterObjects": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + "$ref": "#/definitions/Tag" }, "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "ParameterValues": { + { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" }, - "PipelineObjects": { + "EncryptionKeyArn": { + "type": "string" + }, + "EncryptionMode": { + "type": "string" + }, + "JobSample": { + "type": "object" + }, + "LogSubscription": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "type": "object" + }, + "Outputs": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + "$ref": "#/definitions/AWS::DataBrew::Job.Output" }, "type": "array" }, - "PipelineTags": { + "ProjectName": { + "type": "string" + }, + "Recipe": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" } }, "required": [ "Name", - "ParameterObjects" + "RoleArn", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::DataBrew::Job" ], "type": "string" }, @@ -23320,115 +25612,70 @@ ], "type": "object" }, - "AWS::DataPipeline::Pipeline.Field": { + "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { + "Delimiter": { "type": "string" } }, - "required": [ - "Key" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { - "Key": { + "CompressionFormat": { "type": "string" }, - "StringValue": { + "Format": { "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + "type": "string" }, "type": "array" - }, - "Id": { - "type": "string" } }, "required": [ - "Attributes", - "Id" + "Location" ], "type": "object" }, - "AWS::DataPipeline::Pipeline.ParameterValue": { + "AWS::DataBrew::Job.OutputFormatOptions": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" } }, - "required": [ - "Id", - "StringValue" - ], "type": "object" }, - "AWS::DataPipeline::Pipeline.PipelineObject": { + "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { + "Bucket": { "type": "string" }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { "Key": { "type": "string" - }, - "Value": { - "type": "string" } }, "required": [ - "Key", - "Value" + "Bucket" ], "type": "object" }, - "AWS::Detective::Graph": { + "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23459,12 +25706,40 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "DatasetName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecipeName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sample": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "Name", + "RecipeName", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::Graph" + "AWS::DataBrew::Project" ], "type": "string" }, @@ -23478,11 +25753,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Detective::MemberInvitation": { + "AWS::DataBrew::Recipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23514,29 +25790,34 @@ "Properties": { "additionalProperties": false, "properties": { - "GraphArn": { + "Description": { "type": "string" }, - "MemberEmailAddress": { + "Name": { "type": "string" }, - "MemberId": { - "type": "string" + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" }, - "Message": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" + "Name", + "Steps" ], "type": "object" }, "Type": { "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::DataBrew::Recipe" ], "type": "string" }, @@ -23555,108 +25836,422 @@ ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD": { + "AWS::DataBrew::Recipe.Action": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operation": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - ], + "Parameters": { "type": "object" + } + }, + "required": [ + "Operation" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.ConditionExpression": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::DirectoryService::MicrosoftAD" - ], + "TargetColumn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Condition", + "TargetColumn" ], "type": "object" }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "AWS::DataBrew::Recipe.DataCatalogInputDefinition": { "additionalProperties": false, "properties": { - "SubnetIds": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { + "type": "object" + }, + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { "items": { "type": "string" }, "type": "array" }, - "VpcId": { + "SourceColumn": { + "type": "string" + }, + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "type": "array" } }, "required": [ - "SubnetIds", - "VpcId" + "Action" ], "type": "object" }, - "AWS::DirectoryService::SimpleAD": { + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23688,42 +26283,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { + "CronExpression": { "type": "string" }, - "EnableSso": { - "type": "boolean" + "JobNames": { + "items": { + "type": "string" + }, + "type": "array" }, "Name": { "type": "string" }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "Password", - "Size", - "VpcSettings" + "CronExpression", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::DirectoryService::SimpleAD" + "AWS::DataBrew::Schedule" ], "type": "string" }, @@ -23742,26 +26329,7 @@ ], "type": "object" }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DocDB::DBCluster": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23793,82 +26361,49 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" + "Activate": { + "type": "boolean" }, - "DBClusterParameterGroupName": { + "Description": { "type": "string" }, - "DBSubnetGroupName": { + "Name": { "type": "string" }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { + "ParameterObjects": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" }, "type": "array" }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" }, - "Tags": { + "PipelineObjects": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" }, "type": "array" }, - "VpcSecurityGroupIds": { + "PipelineTags": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" }, "type": "array" } }, "required": [ - "MasterUserPassword", - "MasterUsername" + "Name", + "ParameterObjects" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBCluster" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -23887,28 +26422,136 @@ ], "type": "object" }, - "AWS::DocDB::DBClusterParameterGroup": { + "AWS::DataPipeline::Pipeline.Field": { "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" - }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, "type": "array" } ] @@ -23919,35 +26562,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ActivationKey": { "type": "string" }, - "Family": { + "AgentName": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "Parameters": { - "type": "object" + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcEndpointId": { + "type": "string" } }, "required": [ - "Description", - "Family", - "Parameters" + "ActivationKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBClusterParameterGroup" + "AWS::DataSync::Agent" ], "type": "string" }, @@ -23966,7 +26616,7 @@ ], "type": "object" }, - "AWS::DocDB::DBInstance": { + "AWS::DataSync::LocationEFS": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -23998,22 +26648,13 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" }, - "DBInstanceIdentifier": { + "EfsFilesystemArn": { "type": "string" }, - "PreferredMaintenanceWindow": { + "Subdirectory": { "type": "string" }, "Tags": { @@ -24024,14 +26665,14 @@ } }, "required": [ - "DBClusterIdentifier", - "DBInstanceClass" + "Ec2Config", + "EfsFilesystemArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBInstance" + "AWS::DataSync::LocationEFS" ], "type": "string" }, @@ -24050,7 +26691,26 @@ ], "type": "object" }, - "AWS::DocDB::DBSubnetGroup": { + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24082,34 +26742,45 @@ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "Domain": { "type": "string" }, - "DBSubnetGroupName": { + "FsxFilesystemArn": { "type": "string" }, - "SubnetIds": { + "Password": { + "type": "string" + }, + "SecurityGroupArns": { "items": { "type": "string" }, "type": "array" }, + "Subdirectory": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "User": { + "type": "string" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::DocDB::DBSubnetGroup" + "AWS::DataSync::LocationFSxWindows" ], "type": "string" }, @@ -24128,7 +26799,7 @@ ], "type": "object" }, - "AWS::DynamoDB::Table": { + "AWS::DataSync::LocationNFS": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24160,46 +26831,16 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" + "ServerHostname": { + "type": "string" }, - "TableName": { + "Subdirectory": { "type": "string" }, "Tags": { @@ -24207,19 +26848,18 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" } }, "required": [ - "KeySchema" + "OnPremConfig", + "ServerHostname", + "Subdirectory" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Table" + "AWS::DataSync::LocationNFS" ], "type": "string" }, @@ -24238,174 +26878,31 @@ ], "type": "object" }, - "AWS::DynamoDB::Table.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "AWS::DataSync::LocationNFS.MountOptions": { "additionalProperties": false, "properties": { - "IndexName": { + "Version": { "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::DynamoDB::Table.Projection": { + "AWS::DataSync::LocationNFS.OnPremConfig": { "additionalProperties": false, "properties": { - "NonKeyAttributes": { + "AgentArns": { "items": { "type": "string" }, "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "required": [ - "AttributeName", - "Enabled" + "AgentArns" ], "type": "object" }, - "AWS::EC2::CapacityReservation": { + "AWS::DataSync::LocationObjectStorage": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24437,54 +26934,50 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AccessKey": { "type": "string" }, - "EbsOptimized": { - "type": "boolean" + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EndDate": { + "BucketName": { "type": "string" }, - "EndDateType": { + "SecretKey": { "type": "string" }, - "EphemeralStorage": { - "type": "boolean" + "ServerHostname": { + "type": "string" }, - "InstanceCount": { + "ServerPort": { "type": "number" }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { + "ServerProtocol": { "type": "string" }, - "InstanceType": { + "Subdirectory": { "type": "string" }, - "TagSpecifications": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Tenancy": { - "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" + "AgentArns", + "BucketName", + "ServerHostname" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::DataSync::LocationObjectStorage" ], "type": "string" }, @@ -24503,22 +26996,7 @@ ], "type": "object" }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { + "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24550,21 +27028,34 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "$ref": "#/definitions/AWS::EC2::CarrierGateway.Tags" + "S3BucketArn": { + "type": "string" }, - "VpcId": { + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { + "type": "string" + }, + "Subdirectory": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "VpcId" + "S3BucketArn", + "S3Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::DataSync::LocationS3" ], "type": "string" }, @@ -24583,19 +27074,19 @@ ], "type": "object" }, - "AWS::EC2::CarrierGateway.Tags": { + "AWS::DataSync::LocationS3.S3Config": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "BucketAccessRoleArn": { + "type": "string" } }, + "required": [ + "BucketAccessRoleArn" + ], "type": "object" }, - "AWS::EC2::ClientVpnAuthorizationRule": { + "AWS::DataSync::LocationSMB": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24627,31 +27118,49 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessGroupId": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { "type": "string" }, - "AuthorizeAllGroups": { - "type": "boolean" + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" }, - "ClientVpnEndpointId": { + "Password": { "type": "string" }, - "Description": { + "ServerHostname": { "type": "string" }, - "TargetNetworkCidr": { + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::DataSync::LocationSMB" ], "type": "string" }, @@ -24670,7 +27179,16 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint": { + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24702,69 +27220,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationOptions": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "DestinationLocationArn": { + "type": "string" + }, + "Excludes": { "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" }, "type": "array" }, - "ClientCidrBlock": { + "Name": { "type": "string" }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" }, - "Description": { + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" + }, + "SourceLocationArn": { "type": "string" }, - "DnsServers": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfServicePortal": { - "type": "string" - }, - "ServerCertificateArn": { - "type": "string" - }, - "SplitTunnel": { - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" - }, - "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" } }, "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" + "DestinationLocationArn", + "SourceLocationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::DataSync::Task" ], "type": "string" }, @@ -24783,104 +27278,76 @@ ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "AWS::DataSync::Task.FilterRule": { "additionalProperties": false, "properties": { - "ClientRootCertificateChainArn": { + "FilterType": { + "type": "string" + }, + "Value": { "type": "string" } }, - "required": [ - "ClientRootCertificateChainArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "AWS::DataSync::Task.Options": { "additionalProperties": false, "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + "Atime": { + "type": "string" }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + "BytesPerSecond": { + "type": "number" }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + "Gid": { + "type": "string" }, - "Type": { + "LogLevel": { "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { + }, + "Mtime": { "type": "string" }, - "CloudwatchLogStream": { + "OverwriteMode": { "type": "string" }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { + "PosixPermissions": { "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { + }, + "PreserveDeletedFiles": { "type": "string" }, - "SelfServiceSAMLProviderArn": { + "PreserveDevices": { + "type": "string" + }, + "TaskQueueing": { + "type": "string" + }, + "TransferMode": { + "type": "string" + }, + "Uid": { + "type": "string" + }, + "VerifyMode": { "type": "string" } }, - "required": [ - "SAMLProviderArn" - ], "type": "object" }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "AWS::DataSync::Task.TaskSchedule": { "additionalProperties": false, "properties": { - "ResourceType": { + "ScheduleExpression": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ResourceType", - "Tags" + "ScheduleExpression" ], "type": "object" }, - "AWS::EC2::ClientVpnRoute": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24911,30 +27378,12 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::Detective::Graph" ], "type": "string" }, @@ -24948,12 +27397,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24985,22 +27433,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientVpnEndpointId": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { "type": "string" }, - "SubnetId": { + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { "type": "string" } }, "required": [ - "ClientVpnEndpointId", - "SubnetId" + "GraphArn", + "MemberEmailAddress", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::Detective::MemberInvitation" ], "type": "string" }, @@ -25019,7 +27477,7 @@ ], "type": "object" }, - "AWS::EC2::CustomerGateway": { + "AWS::DevOpsGuru::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25051,32 +27509,18 @@ "Properties": { "additionalProperties": false, "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" } }, "required": [ - "BgpAsn", - "IpAddress", - "Type" + "Config" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::DevOpsGuru::NotificationChannel" ], "type": "string" }, @@ -25095,7 +27539,25 @@ ], "type": "object" }, - "AWS::EC2::DHCPOptions": { + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25127,42 +27589,18 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" } }, + "required": [ + "ResourceCollectionFilter" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::DevOpsGuru::ResourceCollection" ], "type": "string" }, @@ -25176,11 +27614,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EC2Fleet": { + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25212,55 +27672,38 @@ "Properties": { "additionalProperties": false, "properties": { - "ExcessCapacityTerminationPolicy": { - "type": "string" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" - }, - "type": "array" - }, - "OnDemandOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" - }, - "ReplaceUnhealthyInstances": { + "CreateAlias": { "type": "boolean" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" - }, - "type": "array" - }, - "TargetCapacitySpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" + "Edition": { + "type": "string" }, - "TerminateInstancesWithExpiration": { + "EnableSso": { "type": "boolean" }, - "Type": { + "Name": { "type": "string" }, - "ValidFrom": { + "Password": { "type": "string" }, - "ValidUntil": { + "ShortName": { "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" } }, "required": [ - "LaunchTemplateConfigs", - "TargetCapacitySpecification" + "Name", + "Password", + "VpcSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::DirectoryService::MicrosoftAD" ], "type": "string" }, @@ -25279,190 +27722,26 @@ ], "type": "object" }, - "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "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.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { + "VpcId": { "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" } }, "required": [ - "TotalTargetCapacity" + "SubnetIds", + "VpcId" ], "type": "object" }, - "AWS::EC2::EIP": { + "AWS::DirectoryService::SimpleAD": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25494,27 +27773,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Domain": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { "type": "string" }, - "InstanceId": { + "EnableSso": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "PublicIpv4Pool": { + "Password": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" } }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EIP" + "AWS::DirectoryService::SimpleAD" ], "type": "string" }, @@ -25528,11 +27822,31 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::EIPAssociation": { + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25564,88 +27878,82 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { "type": "string" }, - "EIP": { + "DBClusterParameterGroupName": { "type": "string" }, - "InstanceId": { + "DBSubnetGroupName": { "type": "string" }, - "NetworkInterfaceId": { + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { "type": "string" }, - "PrivateIpAddress": { + "KmsKeyId": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "MasterUserPassword": { "type": "string" }, - { + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } }, "required": [ - "VpcId" + "MasterUserPassword", + "MasterUsername" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" + "AWS::DocDB::DBCluster" ], "type": "string" }, @@ -25664,7 +27972,7 @@ ], "type": "object" }, - "AWS::EC2::FlowLog": { + "AWS::DocDB::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25696,50 +28004,35 @@ "Properties": { "additionalProperties": false, "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { + "Description": { "type": "string" }, - "LogGroupName": { + "Family": { "type": "string" }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { + "Name": { "type": "string" }, - "ResourceType": { - "type": "string" + "Parameters": { + "type": "object" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TrafficType": { - "type": "string" } }, "required": [ - "ResourceId", - "ResourceType", - "TrafficType" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::FlowLog" + "AWS::DocDB::DBClusterParameterGroup" ], "type": "string" }, @@ -25758,7 +28051,7 @@ ], "type": "object" }, - "AWS::EC2::GatewayRouteTableAssociation": { + "AWS::DocDB::DBInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25790,22 +28083,40 @@ "Properties": { "additionalProperties": false, "properties": { - "GatewayId": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "RouteTableId": { + "DBClusterIdentifier": { "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "GatewayId", - "RouteTableId" + "DBClusterIdentifier", + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" + "AWS::DocDB::DBInstance" ], "type": "string" }, @@ -25824,7 +28135,7 @@ ], "type": "object" }, - "AWS::EC2::Host": { + "AWS::DocDB::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -25856,28 +28167,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoPlacement": { + "DBSubnetGroupDescription": { "type": "string" }, - "AvailabilityZone": { + "DBSubnetGroupName": { "type": "string" }, - "HostRecovery": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "InstanceType": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Host" + "AWS::DocDB::DBSubnetGroup" ], "type": "string" }, @@ -25896,12 +28213,9 @@ ], "type": "object" }, - "AWS::EC2::Instance": { + "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { - "CreationPolicy": { - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -25931,130 +28245,49 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { + "AttributeDefinitions": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" }, "type": "array" }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { + "BillingMode": { "type": "string" }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "GlobalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" }, "type": "array" }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { + "KeySchema": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" }, "type": "array" }, - "Monitoring": { - "type": "boolean" + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" }, - "NetworkInterfaces": { + "LocalSecondaryIndexes": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" }, "type": "array" }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" }, - "SourceDestCheck": { - "type": "boolean" + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" }, - "SubnetId": { + "TableName": { "type": "string" }, "Tags": { @@ -26063,24 +28296,18 @@ }, "type": "array" }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" } }, + "required": [ + "KeySchema" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Instance" + "AWS::DynamoDB::Table" ], "type": "string" }, @@ -26094,286 +28321,304 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.AssociationParameter": { + "AWS::DynamoDB::Table.AttributeDefinition": { "additionalProperties": false, "properties": { - "Key": { + "AttributeName": { "type": "string" }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" + "AttributeType": { + "type": "string" } }, "required": [ - "Key", - "Value" + "AttributeName", + "AttributeType" ], "type": "object" }, - "AWS::EC2::Instance.BlockDeviceMapping": { + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeviceName": { + "IndexName": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" }, - "VirtualName": { - "type": "string" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" } }, "required": [ - "DeviceName" + "IndexName", + "KeySchema", + "Projection" ], "type": "object" }, - "AWS::EC2::Instance.CpuOptions": { + "AWS::DynamoDB::Table.KeySchema": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "AttributeName": { + "type": "string" }, - "ThreadsPerCore": { - "type": "number" + "KeyType": { + "type": "string" } }, + "required": [ + "AttributeName", + "KeyType" + ], "type": "object" }, - "AWS::EC2::Instance.CreditSpecification": { + "AWS::DynamoDB::Table.KinesisStreamSpecification": { "additionalProperties": false, "properties": { - "CPUCredits": { + "StreamArn": { "type": "string" } }, + "required": [ + "StreamArn" + ], "type": "object" }, - "AWS::EC2::Instance.Ebs": { + "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { + "IndexName": { "type": "string" }, - "VolumeSize": { - "type": "number" + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" }, - "VolumeType": { - "type": "string" + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" } }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], "type": "object" }, - "AWS::EC2::Instance.ElasticGpuSpecification": { + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { "additionalProperties": false, "properties": { - "Type": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "AWS::DynamoDB::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { - "Count": { + "ReadCapacityUnits": { "type": "number" }, - "Type": { - "type": "string" + "WriteCapacityUnits": { + "type": "number" } }, "required": [ - "Type" + "ReadCapacityUnits", + "WriteCapacityUnits" ], "type": "object" }, - "AWS::EC2::Instance.HibernationOptions": { + "AWS::DynamoDB::Table.SSESpecification": { "additionalProperties": false, "properties": { - "Configured": { + "KMSMasterKeyId": { + "type": "string" + }, + "SSEEnabled": { "type": "boolean" + }, + "SSEType": { + "type": "string" } }, + "required": [ + "SSEEnabled" + ], "type": "object" }, - "AWS::EC2::Instance.InstanceIpv6Address": { + "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "StreamViewType": { "type": "string" } }, "required": [ - "Ipv6Address" + "StreamViewType" ], "type": "object" }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { + "AWS::DynamoDB::Table.TimeToLiveSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { + "AttributeName": { "type": "string" }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" + "Enabled": { + "type": "boolean" } }, "required": [ - "LicenseConfigurationArn" + "AttributeName", + "Enabled" ], "type": "object" }, - "AWS::EC2::Instance.NetworkInterface": { + "AWS::EC2::CapacityReservation": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Ipv6AddressCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" }, - "PrivateIpAddress": { + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], "type": "string" }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DeviceIndex" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "AWS::EC2::CapacityReservation.TagSpecification": { "additionalProperties": false, "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { + "ResourceType": { "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" } }, - "required": [ - "Device", - "VolumeId" - ], "type": "object" }, - "AWS::EC2::InternetGateway": { + "AWS::EC2::CarrierGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26410,13 +28655,19 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcId": { + "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::InternetGateway" + "AWS::EC2::CarrierGateway" ], "type": "string" }, @@ -26430,11 +28681,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate": { + "AWS::EC2::ClientVpnAuthorizationRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -26466,18 +28718,31 @@ "Properties": { "additionalProperties": false, "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + "AccessGroupId": { + "type": "string" }, - "LaunchTemplateName": { + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { "type": "string" } }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::EC2::ClientVpnAuthorizationRule" ], "type": "string" }, @@ -26491,485 +28756,294 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "AWS::EC2::ClientVpnEndpoint": { "additionalProperties": false, "properties": { - "DeviceName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoDevice": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], "type": "string" }, - "VirtualName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { + "ClientRootCertificateChainArn": { "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, + "required": [ + "ClientRootCertificateChainArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { "additionalProperties": false, "properties": { - "CapacityReservationId": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.CpuOptions": { + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { "additionalProperties": false, "properties": { - "CoreCount": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { + "LambdaFunctionArn": { "type": "string" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ebs": { + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { + "CloudwatchLogGroup": { "type": "string" }, - "SnapshotId": { + "CloudwatchLogStream": { "type": "string" }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "Enabled": { + "type": "boolean" } }, + "required": [ + "Enabled" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { "additionalProperties": false, "properties": { - "Type": { + "DirectoryId": { "type": "string" } }, + "required": [ + "DirectoryId" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { "additionalProperties": false, "properties": { - "Arn": { + "SAMLProviderArn": { "type": "string" }, - "Name": { + "SelfServiceSAMLProviderArn": { "type": "string" } }, + "required": [ + "SAMLProviderArn" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { "additionalProperties": false, "properties": { - "MarketType": { + "ResourceType": { "type": "string" }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ResourceType", + "Tags" + ], "type": "object" }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { + "AWS::EC2::ClientVpnRoute": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Metadata": { + "type": "object" }, "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "ClientVpnEndpointId": { "type": "string" }, - "LocalGatewayRouteTableId": { + "Description": { "type": "string" }, - "LocalGatewayVirtualInterfaceGroupId": { + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { "type": "string" } }, "required": [ + "ClientVpnEndpointId", "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" + "TargetVpcSubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::EC2::ClientVpnRoute" ], "type": "string" }, @@ -26988,7 +29062,7 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "AWS::EC2::ClientVpnTargetNetworkAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27020,25 +29094,22 @@ "Properties": { "additionalProperties": false, "properties": { - "LocalGatewayRouteTableId": { + "ClientVpnEndpointId": { "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags" - }, - "VpcId": { + "SubnetId": { "type": "string" } }, "required": [ - "LocalGatewayRouteTableId", - "VpcId" + "ClientVpnEndpointId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "type": "string" }, @@ -27057,19 +29128,7 @@ ], "type": "object" }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NatGateway": { + "AWS::EC2::CustomerGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27101,10 +29160,10 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocationId": { - "type": "string" + "BgpAsn": { + "type": "number" }, - "SubnetId": { + "IpAddress": { "type": "string" }, "Tags": { @@ -27112,17 +29171,21 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "AllocationId", - "SubnetId" + "BgpAsn", + "IpAddress", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NatGateway" + "AWS::EC2::CustomerGateway" ], "type": "string" }, @@ -27141,7 +29204,7 @@ ], "type": "object" }, - "AWS::EC2::NetworkAcl": { + "AWS::EC2::DHCPOptions": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27173,24 +29236,42 @@ "Properties": { "additionalProperties": false, "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpcId": { - "type": "string" } }, - "required": [ - "VpcId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::EC2::DHCPOptions" ], "type": "string" }, @@ -27204,12 +29285,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkAclEntry": { + "AWS::EC2::EC2Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27241,45 +29321,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrBlock": { + "ExcessCapacityTerminationPolicy": { "type": "string" }, - "Egress": { + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest" + }, + "type": "array" + }, + "OnDemandOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { "type": "boolean" }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest" }, - "Ipv6CidrBlock": { - "type": "string" + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification" + }, + "type": "array" }, - "NetworkAclId": { - "type": "string" + "TargetCapacitySpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest" }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + "TerminateInstancesWithExpiration": { + "type": "boolean" }, - "Protocol": { - "type": "number" + "Type": { + "type": "string" }, - "RuleAction": { + "ValidFrom": { "type": "string" }, - "RuleNumber": { - "type": "number" + "ValidUntil": { + "type": "string" } }, "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" + "LaunchTemplateConfigs", + "TargetCapacitySpecification" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::EC2::EC2Fleet" ], "type": "string" }, @@ -27298,163 +29388,190 @@ ], "type": "object" }, - "AWS::EC2::NetworkAclEntry.Icmp": { + "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": { "additionalProperties": false, "properties": { - "Code": { - "type": "number" + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" }, - "Type": { - "type": "number" + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" } }, "type": "object" }, - "AWS::EC2::NetworkAclEntry.PortRange": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { "additionalProperties": false, "properties": { - "From": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { "type": "number" }, - "To": { + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { "type": "number" } }, "type": "object" }, - "AWS::EC2::NetworkInterface": { + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LaunchTemplateId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LaunchTemplateName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], + "MaxTotalPrice": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "AWS::EC2::EC2Fleet.Placement": { "additionalProperties": false, "properties": { - "Ipv6Address": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { "additionalProperties": false, "properties": { - "Primary": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { "type": "boolean" }, - "PrivateIpAddress": { + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" } }, "required": [ - "Primary", - "PrivateIpAddress" + "TotalTargetCapacity" ], "type": "object" }, - "AWS::EC2::NetworkInterfaceAttachment": { + "AWS::EC2::EIP": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27486,29 +29603,27 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { + "Domain": { "type": "string" }, "InstanceId": { "type": "string" }, - "NetworkInterfaceId": { + "PublicIpv4Pool": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::EC2::EIP" ], "type": "string" }, @@ -27522,12 +29637,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::NetworkInterfacePermission": { + "AWS::EC2::EIPAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27559,26 +29673,27 @@ "Properties": { "additionalProperties": false, "properties": { - "AwsAccountId": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { "type": "string" }, "NetworkInterfaceId": { "type": "string" }, - "Permission": { + "PrivateIpAddress": { "type": "string" } }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::EC2::EIPAssociation" ], "type": "string" }, @@ -27592,12 +29707,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::PlacementGroup": { + "AWS::EC2::EgressOnlyInternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27629,15 +29743,18 @@ "Properties": { "additionalProperties": false, "properties": { - "Strategy": { + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::EC2::EgressOnlyInternetGateway" ], "type": "string" }, @@ -27651,11 +29768,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::PrefixList": { + "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27687,19 +29805,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressFamily": { + "DeliverLogsPermissionArn": { "type": "string" }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" + "LogDestination": { + "type": "string" }, - "MaxEntries": { + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { "type": "number" }, - "PrefixListName": { + "ResourceId": { + "type": "string" + }, + "ResourceType": { "type": "string" }, "Tags": { @@ -27707,18 +29834,21 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficType": { + "type": "string" } }, "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" + "ResourceId", + "ResourceType", + "TrafficType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::PrefixList" + "AWS::EC2::FlowLog" ], "type": "string" }, @@ -27737,22 +29867,7 @@ ], "type": "object" }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { + "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27784,54 +29899,22 @@ "Properties": { "additionalProperties": false, "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, "GatewayId": { "type": "string" }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, "RouteTableId": { "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" } }, "required": [ + "GatewayId", "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Route" + "AWS::EC2::GatewayRouteTableAssociation" ], "type": "string" }, @@ -27850,7 +29933,7 @@ ], "type": "object" }, - "AWS::EC2::RouteTable": { + "AWS::EC2::Host": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -27882,24 +29965,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "AutoPlacement": { + "type": "string" }, - "VpcId": { + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { "type": "string" } }, "required": [ - "VpcId" + "AvailabilityZone", + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::RouteTable" + "AWS::EC2::Host" ], "type": "string" }, @@ -27918,9 +30005,12 @@ ], "type": "object" }, - "AWS::EC2::SecurityGroup": { + "AWS::EC2::Instance": { "additionalProperties": false, "properties": { + "CreationPolicy": { + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -27950,42 +30040,159 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupDescription": { + "AdditionalInfo": { "type": "string" }, - "GroupName": { + "Affinity": { "type": "string" }, - "SecurityGroupEgress": { + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" }, "type": "array" }, - "SecurityGroupIngress": { + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" }, "type": "array" }, + "SubnetId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcId": { + "Tenancy": { + "type": "string" + }, + "UserData": { "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" } }, - "required": [ - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::EC2::Instance" ], "type": "string" }, @@ -27999,171 +30206,295 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Egress": { + "AWS::EC2::Instance.AssociationParameter": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { + "Key": { "type": "string" }, - "ToPort": { - "type": "number" + "Value": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "IpProtocol" + "Key", + "Value" ], "type": "object" }, - "AWS::EC2::SecurityGroup.Ingress": { + "AWS::EC2::Instance.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "CidrIp": { + "DeviceName": { "type": "string" }, - "CidrIpv6": { - "type": "string" + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, - "Description": { + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" }, - "FromPort": { + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { "type": "number" }, - "IpProtocol": { + "KmsKeyId": { "type": "string" }, - "SourcePrefixListId": { + "SnapshotId": { "type": "string" }, - "SourceSecurityGroupId": { + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" }, - "SourceSecurityGroupName": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { "type": "string" }, - "SourceSecurityGroupOwnerId": { + "LaunchTemplateName": { "type": "string" }, - "ToPort": { - "type": "number" + "Version": { + "type": "string" } }, "required": [ - "IpProtocol" + "Version" ], "type": "object" }, - "AWS::EC2::SecurityGroupEgress": { + "AWS::EC2::Instance.LicenseSpecification": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LicenseConfigurationArn": { "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeleteOnTermination": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DeviceIndex" ], "type": "object" }, - "AWS::EC2::SecurityGroupIngress": { + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28195,51 +30526,18 @@ "Properties": { "additionalProperties": false, "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "IpProtocol" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::EC2::InternetGateway" ], "type": "string" }, @@ -28253,12 +30551,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet": { + "AWS::EC2::LaunchTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28290,18 +30587,18 @@ "Properties": { "additionalProperties": false, "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" } }, - "required": [ - "SpotFleetRequestConfigData" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SpotFleet" + "AWS::EC2::LaunchTemplate" ], "type": "string" }, @@ -28315,19 +30612,18 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { "additionalProperties": false, "properties": { "DeviceName": { "type": "string" }, "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" }, "NoDevice": { "type": "string" @@ -28336,39 +30632,54 @@ "type": "string" } }, - "required": [ - "DeviceName" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { "additionalProperties": false, "properties": { - "Name": { + "CapacityReservationPreference": { "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { "additionalProperties": false, "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" } }, - "required": [ - "ClassicLoadBalancers" - ], "type": "object" }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { "additionalProperties": false, "properties": { "DeleteOnTermination": { @@ -28380,9 +30691,15 @@ "Iops": { "type": "number" }, + "KmsKeyId": { + "type": "string" + }, "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -28392,366 +30709,361 @@ }, "type": "object" }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, - "required": [ - "Version" - ], "type": "object" }, - "AWS::EC2::SpotFleet.GroupIdentifier": { + "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { - "GroupId": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "GroupId" - ], "type": "object" }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { "additionalProperties": false, "properties": { "Arn": { "type": "string" + }, + "Name": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { "additionalProperties": false, "properties": { "Ipv6Address": { "type": "string" } }, - "required": [ - "Ipv6Address" - ], "type": "object" }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" }, - "DeleteOnTermination": { - "type": "boolean" + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" }, - "Description": { - "type": "string" + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" }, - "DeviceIndex": { - "type": "number" + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" }, - "Groups": { + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" }, "type": "array" }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { + "ElasticInferenceAccelerators": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" }, "type": "array" }, - "NetworkInterfaceId": { + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { "type": "string" }, - "PrivateIpAddresses": { + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" }, "type": "array" }, - "SecondaryPrivateIpAddressCount": { - "type": "number" + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, - "SubnetId": { + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { "additionalProperties": false, "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + "Count": { + "type": "number" }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" + "Type": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "AWS::EC2::LaunchTemplate.LicenseSpecification": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { + "LicenseConfigurationArn": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "type": "object" }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "AWS::EC2::LaunchTemplate.MetadataOptions": { "additionalProperties": false, "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + "HttpEndpoint": { + "type": "string" }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "AWS::EC2::LaunchTemplate.Monitoring": { "additionalProperties": false, "properties": { - "Primary": { + "Enabled": { "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" } }, - "required": [ - "PrivateIpAddress" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "AWS::EC2::LaunchTemplate.NetworkInterface": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { + "AssociateCarrierIpAddress": { "type": "boolean" }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" + "AssociatePublicIpAddress": { + "type": "boolean" }, - "KernelId": { - "type": "string" + "DeleteOnTermination": { + "type": "boolean" }, - "KeyName": { + "Description": { "type": "string" }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + "DeviceIndex": { + "type": "number" }, - "NetworkInterfaces": { + "Groups": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + "type": "string" }, "type": "array" }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { + "InterfaceType": { "type": "string" }, - "SecurityGroups": { + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" }, "type": "array" }, - "SpotPrice": { + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { "type": "string" }, - "SubnetId": { + "PrivateIpAddress": { "type": "string" }, - "TagSpecifications": { + "PrivateIpAddresses": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" }, "type": "array" }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { + "SecondaryPrivateIpAddressCount": { "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + }, + "SubnetId": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "AWS::EC2::LaunchTemplate.Placement": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Affinity": { "type": "string" }, - "ExcessCapacityTerminationPolicy": { + "AvailabilityZone": { "type": "string" }, - "IamFleetRole": { + "GroupName": { "type": "string" }, - "InstanceInterruptionBehavior": { + "HostId": { "type": "string" }, - "LaunchSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" - }, - "type": "array" - }, - "LaunchTemplateConfigs": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" - }, - "type": "array" - }, - "LoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" - }, - "ReplaceUnhealthyInstances": { - "type": "boolean" - }, - "SpotPrice": { + "HostResourceGroupArn": { "type": "string" }, - "TargetCapacity": { + "PartitionNumber": { "type": "number" }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { + "SpreadDomain": { "type": "string" }, - "ValidUntil": { + "Tenancy": { "type": "string" } }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], "type": "object" }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { "additionalProperties": false, "properties": { - "ResourceType": { - "type": "string" + "Primary": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "PrivateIpAddress": { + "type": "string" } }, "type": "object" }, - "AWS::EC2::SpotFleet.SpotPlacement": { + "AWS::EC2::LaunchTemplate.SpotOptions": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { "type": "string" }, - "GroupName": { + "MaxPrice": { "type": "string" }, - "Tenancy": { + "SpotInstanceType": { "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { + }, + "ValidUntil": { "type": "string" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "AWS::EC2::LaunchTemplate.TagSpecification": { "additionalProperties": false, "properties": { - "TargetGroups": { + "ResourceType": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + "$ref": "#/definitions/Tag" }, "type": "array" } }, - "required": [ - "TargetGroups" - ], "type": "object" }, - "AWS::EC2::Subnet": { + "AWS::EC2::LocalGatewayRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28783,43 +31095,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { + "DestinationCidrBlock": { "type": "string" }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { + "LocalGatewayRouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { + "LocalGatewayVirtualInterfaceGroupId": { "type": "string" } }, "required": [ - "CidrBlock", - "VpcId" + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Subnet" + "AWS::EC2::LocalGatewayRoute" ], "type": "string" }, @@ -28838,7 +31133,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetCidrBlock": { + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28870,22 +31165,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Ipv6CidrBlock": { + "LocalGatewayRouteTableId": { "type": "string" }, - "SubnetId": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "Ipv6CidrBlock", - "SubnetId" + "LocalGatewayRouteTableId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "type": "string" }, @@ -28904,7 +31205,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetNetworkAclAssociation": { + "AWS::EC2::NatGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -28936,22 +31237,28 @@ "Properties": { "additionalProperties": false, "properties": { - "NetworkAclId": { + "AllocationId": { "type": "string" }, "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "NetworkAclId", + "AllocationId", "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::EC2::NatGateway" ], "type": "string" }, @@ -28970,7 +31277,7 @@ ], "type": "object" }, - "AWS::EC2::SubnetRouteTableAssociation": { + "AWS::EC2::NetworkAcl": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29002,22 +31309,24 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "SubnetId": { + "VpcId": { "type": "string" } }, "required": [ - "RouteTableId", - "SubnetId" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::EC2::NetworkAcl" ], "type": "string" }, @@ -29036,7 +31345,7 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilter": { + "AWS::EC2::NetworkAclEntry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29068,27 +31377,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CidrBlock": { "type": "string" }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" + "Egress": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" } }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::EC2::NetworkAclEntry" ], "type": "string" }, @@ -29102,11 +31429,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule": { + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29138,50 +31490,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "TrafficDirection": { + "NetworkInsightsPathId": { "type": "string" }, - "TrafficMirrorFilterId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" + "NetworkInsightsPathId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::EC2::NetworkInsightsAnalysis" ], "type": "string" }, @@ -29200,112 +31532,391 @@ ], "type": "object" }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "ComponentArn": { + "type": "string" }, - "ToPort": { - "type": "number" + "ComponentId": { + "type": "string" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorSession": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Cidr": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Egress": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EC2::TrafficMirrorTarget": { + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29337,13 +31948,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Destination": { "type": "string" }, - "NetworkInterfaceId": { + "DestinationIp": { "type": "string" }, - "NetworkLoadBalancerArn": { + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { "type": "string" }, "Tags": { @@ -29353,11 +31973,16 @@ "type": "array" } }, + "required": [ + "Destination", + "Protocol", + "Source" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::EC2::NetworkInsightsPath" ], "type": "string" }, @@ -29371,11 +31996,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGateway": { + "AWS::EC2::NetworkInterface": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29407,25 +32033,43 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "AutoAcceptSharedAttachments": { + "Description": { "type": "string" }, - "DefaultRouteTableAssociation": { - "type": "string" + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" }, - "DefaultRouteTablePropagation": { + "InterfaceType": { "type": "string" }, - "Description": { - "type": "string" + "Ipv6AddressCount": { + "type": "number" }, - "DnsSupport": { + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { "type": "string" }, - "MulticastSupport": { + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { "type": "string" }, "Tags": { @@ -29433,16 +32077,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VpnEcmpSupport": { - "type": "string" } }, + "required": [ + "SubnetId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGateway" + "AWS::EC2::NetworkInterface" ], "type": "string" }, @@ -29456,11 +32100,40 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EC2::TransitGatewayAttachment": { + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29492,35 +32165,29 @@ "Properties": { "additionalProperties": false, "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeleteOnTermination": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "DeviceIndex": { + "type": "string" }, - "TransitGatewayId": { + "InstanceId": { "type": "string" }, - "VpcId": { + "NetworkInterfaceId": { "type": "string" } }, "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::NetworkInterfaceAttachment" ], "type": "string" }, @@ -29539,7 +32206,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRoute": { + "AWS::EC2::NetworkInterfacePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29571,27 +32238,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { + "AwsAccountId": { "type": "string" }, - "TransitGatewayAttachmentId": { + "NetworkInterfaceId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Permission": { "type": "string" } }, "required": [ - "TransitGatewayRouteTableId" + "AwsAccountId", + "NetworkInterfaceId", + "Permission" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::EC2::NetworkInterfacePermission" ], "type": "string" }, @@ -29610,7 +32276,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTable": { + "AWS::EC2::PlacementGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29642,24 +32308,15 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { + "Strategy": { "type": "string" } }, - "required": [ - "TransitGatewayId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::EC2::PlacementGroup" ], "type": "string" }, @@ -29673,12 +32330,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::PrefixList": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29710,22 +32366,38 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "AddressFamily": { "type": "string" }, - "TransitGatewayRouteTableId": { + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" + "AddressFamily", + "MaxEntries", + "PrefixListName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::EC2::PrefixList" ], "type": "string" }, @@ -29744,7 +32416,22 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29776,167 +32463,54 @@ "Properties": { "additionalProperties": false, "properties": { - "TransitGatewayAttachmentId": { + "CarrierGatewayId": { "type": "string" }, - "TransitGatewayRouteTableId": { + "DestinationCidrBlock": { "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "DestinationIpv6CidrBlock": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { + "EgressOnlyInternetGatewayId": { "type": "string" }, - "EnableDnsHostnames": { - "type": "boolean" + "GatewayId": { + "type": "string" }, - "EnableDnsSupport": { - "type": "boolean" + "InstanceId": { + "type": "string" }, - "InstanceTenancy": { + "LocalGatewayId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "NatGatewayId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" + "NetworkInterfaceId": { + "type": "string" }, - "CidrBlock": { + "RouteTableId": { "type": "string" }, - "VpcId": { + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { "type": "string" } }, "required": [ - "VpcId" + "RouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::EC2::Route" ], "type": "string" }, @@ -29955,7 +32529,7 @@ ], "type": "object" }, - "AWS::EC2::VPCDHCPOptionsAssociation": { + "AWS::EC2::RouteTable": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -29987,22 +32561,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DhcpOptionsId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, "VpcId": { "type": "string" } }, "required": [ - "DhcpOptionsId", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::EC2::RouteTable" ], "type": "string" }, @@ -30021,7 +32597,7 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpoint": { + "AWS::EC2::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30053,49 +32629,42 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "GroupDescription": { + "type": "string" }, - "PrivateDnsEnabled": { - "type": "boolean" + "GroupName": { + "type": "string" }, - "RouteTableIds": { + "SecurityGroupEgress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" }, "type": "array" }, - "SecurityGroupIds": { + "SecurityGroupIngress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" }, "type": "array" }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "VpcEndpointType": { - "type": "string" - }, "VpcId": { "type": "string" } }, "required": [ - "ServiceName", - "VpcId" + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::EC2::SecurityGroup" ], "type": "string" }, @@ -30114,214 +32683,79 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointConnectionNotification": { + "AWS::EC2::SecurityGroup.Egress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" + "DestinationPrefixListId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], + "DestinationSecurityGroupId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FromPort": { + "type": "number" + }, + "IpProtocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCEndpointService": { + "AWS::EC2::SecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CidrIp": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CidrIpv6": { + "type": "string" }, - "Metadata": { - "type": "object" + "Description": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" + "FromPort": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], + "IpProtocol": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePrefixListId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" + "SourceSecurityGroupId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], + "SourceSecurityGroupName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "IpProtocol" ], "type": "object" }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::SecurityGroupEgress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30353,24 +32787,43 @@ "Properties": { "additionalProperties": false, "properties": { - "InternetGatewayId": { + "CidrIp": { "type": "string" }, - "VpcId": { + "CidrIpv6": { "type": "string" }, - "VpnGatewayId": { + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "VpcId" + "GroupId", + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::EC2::SecurityGroupEgress" ], "type": "string" }, @@ -30389,7 +32842,7 @@ ], "type": "object" }, - "AWS::EC2::VPCPeeringConnection": { + "AWS::EC2::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30421,37 +32874,51 @@ "Properties": { "additionalProperties": false, "properties": { - "PeerOwnerId": { + "CidrIp": { "type": "string" }, - "PeerRegion": { + "CidrIpv6": { "type": "string" }, - "PeerRoleArn": { + "Description": { "type": "string" }, - "PeerVpcId": { + "FromPort": { + "type": "number" + }, + "GroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "GroupName": { + "type": "string" }, - "VpcId": { + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "PeerVpcId", - "VpcId" + "IpProtocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::EC2::SecurityGroupIngress" ], "type": "string" }, @@ -30470,7 +32937,7 @@ ], "type": "object" }, - "AWS::EC2::VPNConnection": { + "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30502,43 +32969,18 @@ "Properties": { "additionalProperties": false, "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" } }, "required": [ - "CustomerGatewayId", - "Type" + "SpotFleetRequestConfigData" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnection" + "AWS::EC2::SpotFleet" ], "type": "string" }, @@ -30557,19 +32999,477 @@ ], "type": "object" }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "AWS::EC2::SpotFleet.BlockDeviceMapping": { "additionalProperties": false, "properties": { - "PreSharedKey": { + "DeviceName": { "type": "string" }, - "TunnelInsideCidr": { + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { "type": "string" } }, + "required": [ + "DeviceName" + ], "type": "object" }, - "AWS::EC2::VPNConnectionRoute": { + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification" + }, + "type": "array" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig" + }, + "type": "array" + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30601,22 +33501,43 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationCidrBlock": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { "type": "string" }, - "VpnConnectionId": { + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, "required": [ - "DestinationCidrBlock", - "VpnConnectionId" + "CidrBlock", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::EC2::Subnet" ], "type": "string" }, @@ -30635,7 +33556,7 @@ ], "type": "object" }, - "AWS::EC2::VPNGateway": { + "AWS::EC2::SubnetCidrBlock": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30667,27 +33588,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Ipv6CidrBlock": { + "type": "string" }, - "Type": { + "SubnetId": { "type": "string" } }, "required": [ - "Type" + "Ipv6CidrBlock", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGateway" + "AWS::EC2::SubnetCidrBlock" ], "type": "string" }, @@ -30706,7 +33622,7 @@ ], "type": "object" }, - "AWS::EC2::VPNGatewayRoutePropagation": { + "AWS::EC2::SubnetNetworkAclAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30738,25 +33654,22 @@ "Properties": { "additionalProperties": false, "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" + "NetworkAclId": { + "type": "string" }, - "VpnGatewayId": { + "SubnetId": { "type": "string" } }, "required": [ - "RouteTableIds", - "VpnGatewayId" + "NetworkAclId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::EC2::SubnetNetworkAclAssociation" ], "type": "string" }, @@ -30775,7 +33688,7 @@ ], "type": "object" }, - "AWS::EC2::Volume": { + "AWS::EC2::SubnetRouteTableAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30807,51 +33720,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { + "RouteTableId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeType": { + "SubnetId": { "type": "string" } }, "required": [ - "AvailabilityZone" + "RouteTableId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::Volume" + "AWS::EC2::SubnetRouteTableAssociation" ], "type": "string" }, @@ -30870,7 +33754,7 @@ ], "type": "object" }, - "AWS::EC2::VolumeAttachment": { + "AWS::EC2::TrafficMirrorFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30902,26 +33786,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Device": { + "Description": { "type": "string" }, - "InstanceId": { - "type": "string" + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" }, - "VolumeId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VolumeAttachment" + "AWS::EC2::TrafficMirrorFilter" ], "type": "string" }, @@ -30935,12 +33820,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::EC2::TrafficMirrorFilterRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -30972,33 +33856,50 @@ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { - "type": "object" + "Description": { + "type": "string" }, - "ImageTagMutability": { + "DestinationCidrBlock": { "type": "string" }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" }, - "RepositoryName": { + "Protocol": { + "type": "number" + }, + "RuleAction": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" + "RuleNumber": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" } }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::EC2::TrafficMirrorFilterRule" ], "type": "string" }, @@ -31012,23 +33913,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { "additionalProperties": false, "properties": { - "LifecyclePolicyText": { - "type": "string" + "FromPort": { + "type": "number" }, - "RegistryId": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::ECS::CapacityProvider": { + "AWS::EC2::TrafficMirrorSession": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31060,27 +33966,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + "Description": { + "type": "string" }, - "Name": { + "NetworkInterfaceId": { "type": "string" }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" } }, "required": [ - "AutoScalingGroupProvider" + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::EC2::TrafficMirrorSession" ], "type": "string" }, @@ -31099,43 +34023,77 @@ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::EC2::TrafficMirrorTarget": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumScalingStepSize": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "Status": { + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], "type": "string" }, - "TargetCapacity": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::Cluster": { + "AWS::EC2::TransitGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31167,39 +34125,42 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" + "AmazonSideAsn": { + "type": "number" }, - "ClusterName": { + "AutoAcceptSharedAttachments": { "type": "string" }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" + "DefaultRouteTableAssociation": { + "type": "string" }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" + "DefaultRouteTablePropagation": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DnsSupport": { + "type": "string" + }, + "MulticastSupport": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpnEcmpSupport": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Cluster" + "AWS::EC2::TransitGateway" ], "type": "string" }, @@ -31217,34 +34178,7 @@ ], "type": "object" }, - "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": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::EC2::TransitGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31276,26 +34210,35 @@ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Service": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { "type": "string" }, - "TaskSetId": { + "VpcId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskSetId" + "SubnetIds", + "TransitGatewayId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::EC2::TransitGatewayAttachment" ], "type": "string" }, @@ -31314,7 +34257,7 @@ ], "type": "object" }, - "AWS::ECS::Service": { + "AWS::EC2::TransitGatewayConnect": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31346,77 +34289,8 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" }, "Tags": { "items": { @@ -31424,15 +34298,19 @@ }, "type": "array" }, - "TaskDefinition": { + "TransportTransitGatewayAttachmentId": { "type": "string" } }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::EC2::TransitGatewayConnect" ], "type": "string" }, @@ -31446,143 +34324,507 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.AwsVpcConfiguration": { + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { "additionalProperties": false, "properties": { - "AssignPublicIp": { + "Protocol": { "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { + "AWS::EC2::TransitGatewayMulticastDomain": { "additionalProperties": false, "properties": { - "Base": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CapacityProvider": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], "type": "string" }, - "Weight": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { "additionalProperties": false, "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.LoadBalancer": { + "AWS::EC2::TransitGatewayMulticastGroupMember": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "LoadBalancerName": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], "type": "string" }, - "TargetGroupArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.NetworkConfiguration": { + "AWS::EC2::TransitGatewayMulticastGroupSource": { "additionalProperties": false, "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::Service.PlacementConstraint": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { - "Expression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.PlacementStrategy": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { - "Field": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::Service.ServiceRegistry": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { - "ContainerName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerPort": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Port": { - "type": "number" + "Metadata": { + "type": "object" }, - "RegistryArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition": { + "AWS::EC2::TransitGatewayRouteTablePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -31614,75 +34856,99 @@ "Properties": { "additionalProperties": false, "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { + "TransitGatewayAttachmentId": { "type": "string" }, - "ExecutionRoleArn": { + "TransitGatewayRouteTableId": { "type": "string" - }, - "Family": { + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "InferenceAccelerators": { + { "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" - }, - "IpcMode": { + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { "type": "string" }, - "Memory": { - "type": "string" + "EnableDnsHostnames": { + "type": "boolean" }, - "NetworkMode": { - "type": "string" + "EnableDnsSupport": { + "type": "boolean" }, - "PidMode": { + "InstanceTenancy": { "type": "string" }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" } }, + "required": [ + "CidrBlock" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskDefinition" + "AWS::EC2::VPC" ], "type": "string" }, @@ -31696,657 +34962,452 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "AWS::EC2::VPCCidrBlock": { "additionalProperties": false, "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" }, "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "VpcId" + ], "type": "object" }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { + "Type": { + "enum": [ + "AWS::EC2::VPCCidrBlock" + ], "type": "string" }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.ContainerDependency": { + "AWS::EC2::VPCDHCPOptionsAssociation": { "additionalProperties": false, "properties": { - "Condition": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HostPath": { - "type": "string" + "Metadata": { + "type": "object" }, - "Permissions": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } }, - "type": "array" + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "AWS::EC2::VPCEndpoint": { "additionalProperties": false, "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, + ] + }, + "Metadata": { "type": "object" }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { "type": "string" } }, + "required": [ + "ServiceName", + "VpcId" + ], "type": "object" }, - "Scope": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "AWS::EC2::VPCEndpointConnectionNotification": { "additionalProperties": false, "properties": { - "AuthorizationConfig": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "FilesystemId": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" }, - "RootDirectory": { + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], "type": "string" }, - "TransitEncryption": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" } }, "required": [ - "FilesystemId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { + "AWS::EC2::VPCEndpointService": { "additionalProperties": false, "properties": { - "Type": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::ECS::TaskDefinition.HealthCheck": { + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" + "Metadata": { + "type": "object" }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { "type": "string" } }, + "required": [ + "ServiceId" + ], "type": "object" }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" + "Properties" ], "type": "object" }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32378,53 +35439,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { + "InternetGatewayId": { "type": "string" }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { + "VpcId": { "type": "string" }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { + "VpnGatewayId": { "type": "string" } }, "required": [ - "Cluster", - "Service", - "TaskDefinition" + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::TaskSet" + "AWS::EC2::VPCGatewayAttachment" ], "type": "string" }, @@ -32443,88 +35475,7 @@ ], "type": "object" }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { + "AWS::EC2::VPCPeeringConnection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32556,33 +35507,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" + "PeerOwnerId": { + "type": "string" }, - "ClientToken": { + "PeerRegion": { "type": "string" }, - "FileSystemId": { + "PeerRoleArn": { "type": "string" }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + "PeerVpcId": { + "type": "string" }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" } }, "required": [ - "FileSystemId" + "PeerVpcId", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::AccessPoint" + "AWS::EC2::VPCPeeringConnection" ], "type": "string" }, @@ -32601,81 +35556,15 @@ ], "type": "object" }, - "AWS::EFS::AccessPoint.AccessPointTag": { + "AWS::EC2::VPNConnection": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "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": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -32699,45 +35588,43 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + "CustomerGatewayId": { + "type": "string" }, - "Encrypted": { + "StaticRoutesOnly": { "type": "boolean" }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KmsKeyId": { + "TransitGatewayId": { "type": "string" }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { + "Type": { "type": "string" }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { + "VpnGatewayId": { "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" } }, + "required": [ + "CustomerGatewayId", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::FileSystem" + "AWS::EC2::VPNConnection" ], "type": "string" }, @@ -32751,51 +35638,24 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { "additionalProperties": false, "properties": { - "Key": { + "PreSharedKey": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { + "TunnelInsideCidr": { "type": "string" } }, - "required": [ - "TransitionToIA" - ], "type": "object" }, - "AWS::EFS::MountTarget": { + "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32827,32 +35687,22 @@ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { + "DestinationCidrBlock": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { + "VpnConnectionId": { "type": "string" } }, "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" + "DestinationCidrBlock", + "VpnConnectionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EFS::MountTarget" + "AWS::EC2::VPNConnectionRoute" ], "type": "string" }, @@ -32871,7 +35721,7 @@ ], "type": "object" }, - "AWS::EKS::Cluster": { + "AWS::EC2::VPNGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -32903,37 +35753,27 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfig": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { + "Type": { "type": "string" } }, "required": [ - "ResourcesVpcConfig", - "RoleArn" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Cluster" + "AWS::EC2::VPNGateway" ], "type": "string" }, @@ -32952,61 +35792,7 @@ ], "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.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { + "AWS::EC2::VPNGatewayRoutePropagation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33038,44 +35824,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { + "RouteTableIds": { "items": { "type": "string" }, "type": "array" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "VpnGatewayId": { + "type": "string" } }, "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" + "RouteTableIds", + "VpnGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::FargateProfile" + "AWS::EC2::VPNGatewayRoutePropagation" ], "type": "string" }, @@ -33094,41 +35861,7 @@ ], "type": "object" }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { + "AWS::EC2::Volume": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33160,68 +35893,54 @@ "Properties": { "additionalProperties": false, "properties": { - "AmiType": { - "type": "string" + "AutoEnableIO": { + "type": "boolean" }, - "ClusterName": { + "AvailabilityZone": { "type": "string" }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { + "Encrypted": { "type": "boolean" }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + "Iops": { + "type": "number" }, - "NodeRole": { + "KmsKeyId": { "type": "string" }, - "NodegroupName": { - "type": "string" + "MultiAttachEnabled": { + "type": "boolean" }, - "ReleaseVersion": { + "OutpostArn": { "type": "string" }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + "Size": { + "type": "number" }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + "SnapshotId": { + "type": "string" }, - "Subnets": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { - "type": "object" + "Throughput": { + "type": "number" }, - "Version": { + "VolumeType": { "type": "string" } }, "required": [ - "ClusterName", - "NodeRole", - "Subnets" + "AvailabilityZone" ], "type": "object" }, "Type": { "enum": [ - "AWS::EKS::Nodegroup" + "AWS::EC2::Volume" ], "type": "string" }, @@ -33240,55 +35959,7 @@ ], "type": "object" }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { + "AWS::EC2::VolumeAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -33320,99 +35991,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { + "Device": { "type": "string" }, - "SecurityConfiguration": { + "InstanceId": { "type": "string" }, - "ServiceRole": { + "VolumeId": { "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" } }, "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" + "Device", + "InstanceId", + "VolumeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Cluster" + "AWS::EC2::VolumeAttachment" ], "type": "string" }, @@ -33431,412 +36029,542 @@ ], "type": "object" }, - "AWS::EMR::Cluster.Application": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { - "AdditionalInfo": { - "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" }, - "Args": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "Name": { - "type": "string" + "type": "object" }, - "Version": { + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, "required": [ - "Name", - "ScriptBootstrapAction" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { - "ComparisonOperator": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Namespace": { - "type": "string" + "Metadata": { + "type": "object" }, - "Period": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" }, - "Statistic": { + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], "type": "string" }, - "Threshold": { - "type": "number" - }, - "Unit": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.ComputeLimits": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { - "MaximumCapacityUnits": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MaximumCoreCapacityUnits": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MaximumOnDemandCapacityUnits": { - "type": "number" + "Metadata": { + "type": "object" }, - "MinimumCapacityUnits": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" }, - "UnitType": { + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.Configuration": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { + "Rules": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" }, "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + "Region": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "RegistryId": { + "type": "string" } }, "required": [ - "VolumeSpecification" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::EMR::Cluster.EbsConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { + "Destinations": { "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" }, "type": "array" - }, - "EbsOptimized": { - "type": "boolean" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { + "AWS::ECR::Repository": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "type": "object" }, - "Jar": { + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], "type": "string" }, - "MainClass": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" } }, "required": [ - "Jar" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceFleetConfig": { + "AWS::ECR::Repository.LifecyclePolicy": { "additionalProperties": false, "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { + "LifecyclePolicyText": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + "RegistryId": { + "type": "string" } }, "type": "object" }, - "AWS::EMR::Cluster.InstanceGroupConfig": { + "AWS::ECS::CapacityProvider": { "additionalProperties": false, "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InstanceCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "InstanceType": { - "type": "string" + "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" }, - "Market": { + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], "type": "string" }, - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceCount", - "InstanceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.InstanceTypeConfig": { + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { "additionalProperties": false, "properties": { - "BidPrice": { + "AutoScalingGroupArn": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" }, - "InstanceType": { + "ManagedTerminationProtection": { "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "required": [ - "InstanceType" + "AutoScalingGroupArn" ], "type": "object" }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "AWS::ECS::CapacityProvider.ManagedScaling": { "additionalProperties": false, "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + "MaximumScalingStepSize": { + "type": "number" }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + "MinimumScalingStepSize": { + "type": "number" }, - "Ec2KeyName": { + "Status": { "type": "string" }, - "Ec2SubnetId": { + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmrManagedMasterSecurityGroup": { - "type": "string" - }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" - }, - "HadoopVersion": { - "type": "string" - }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + "Metadata": { + "type": "object" }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "ServiceAccessSecurityGroup": { + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], "type": "string" }, - "TerminationProtected": { - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EMR::Cluster.KerberosAttributes": { + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" + "Base": { + "type": "number" }, - "KdcAdminPassword": { + "CapacityProvider": { "type": "string" }, - "Realm": { - "type": "string" + "Weight": { + "type": "number" } }, - "required": [ - "KdcAdminPassword", - "Realm" - ], "type": "object" }, - "AWS::EMR::Cluster.KeyValue": { + "AWS::ECS::Cluster.ClusterSettings": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, "Value": { @@ -33845,218 +36573,364 @@ }, "type": "object" }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "AWS::ECS::Service": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "AllocationStrategy" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.PlacementType": { + "AWS::ECS::Service.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "AssignPublicIp": { "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AvailabilityZone" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingAction": { + "AWS::ECS::Service.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "Market": { + "Base": { + "type": "number" + }, + "CapacityProvider": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + "Weight": { + "type": "number" } }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingConstraints": { + "AWS::ECS::Service.DeploymentCircuitBreaker": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "type": "number" + "Enable": { + "type": "boolean" }, - "MinCapacity": { - "type": "number" + "Rollback": { + "type": "boolean" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "Enable", + "Rollback" ], "type": "object" }, - "AWS::EMR::Cluster.ScalingRule": { + "AWS::ECS::Service.DeploymentConfiguration": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" }, - "Name": { - "type": "string" + "MaximumPercent": { + "type": "number" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + "MinimumHealthyPercent": { + "type": "number" } }, - "required": [ - "Action", - "Name", - "Trigger" - ], "type": "object" }, - "AWS::EMR::Cluster.ScalingTrigger": { + "AWS::ECS::Service.DeploymentController": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + "Type": { + "type": "string" } }, - "required": [ - "CloudWatchAlarmDefinition" - ], "type": "object" }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "AWS::ECS::Service.LoadBalancer": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "ContainerName": { + "type": "string" }, - "Path": { + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { "type": "string" } }, - "required": [ - "Path" - ], "type": "object" }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "AWS::ECS::Service.NetworkConfiguration": { "additionalProperties": false, "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" } }, - "required": [ - "ScalingAdjustment" - ], "type": "object" }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "AWS::ECS::Service.PlacementConstraint": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Expression": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "Type": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.StepConfig": { + "AWS::ECS::Service.PlacementStrategy": { "additionalProperties": false, "properties": { - "ActionOnFailure": { + "Field": { "type": "string" }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { + "Type": { "type": "string" } }, "required": [ - "HadoopJarStep", - "Name" + "Type" ], "type": "object" }, - "AWS::EMR::Cluster.VolumeSpecification": { + "AWS::ECS::Service.ServiceRegistry": { "additionalProperties": false, "properties": { - "Iops": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { "type": "number" }, - "SizeInGB": { + "Port": { "type": "number" }, - "VolumeType": { + "RegistryArn": { "type": "string" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig": { + "AWS::ECS::TaskDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34088,65 +36962,138 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterId": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { "type": "string" }, - "InstanceFleetType": { + "ExecutionRoleArn": { "type": "string" }, - "InstanceTypeConfigs": { + "Family": { + "type": "string" + }, + "InferenceAccelerators": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" }, "type": "array" }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + "IpcMode": { + "type": "string" }, - "Name": { + "Memory": { "type": "string" }, - "TargetOnDemandCapacity": { - "type": "number" + "NetworkMode": { + "type": "string" }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.Configuration": { + "AWS::ECS::TaskDefinition.AuthorizationConfig": { "additionalProperties": false, "properties": { - "Classification": { + "AccessPointId": { "type": "string" }, - "ConfigurationProperties": { + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34155,303 +37102,247 @@ }, "type": "object" }, - "Configurations": { + "DockerSecurityOptions": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { + "EntryPoint": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + "type": "string" }, "type": "array" }, - "EbsOptimized": { + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" + "Image": { + "type": "string" }, - "Configurations": { + "Interactive": { + "type": "boolean" + }, + "Links": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + "type": "string" }, "type": "array" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" }, - "InstanceType": { + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "WeightedCapacity": { + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { "type": "string" } }, - "required": [ - "AllocationStrategy" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "AWS::ECS::TaskDefinition.ContainerDependency": { "additionalProperties": false, "properties": { - "AllocationStrategy": { + "Condition": { "type": "string" }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "ContainerName": { "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" } }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Device": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" + "ContainerPath": { + "type": "string" }, - "VolumeType": { + "HostPath": { "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "SizeInGB", - "VolumeType" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig": { + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Autoprovision": { + "type": "boolean" + }, + "Driver": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" + "AuthorizationConfig": { + "type": "object" }, - "MetricName": { + "FilesystemId": { "type": "string" }, - "Namespace": { + "RootDirectory": { "type": "string" }, - "Period": { - "type": "number" - }, - "Statistic": { + "TransitEncryption": { "type": "string" }, - "Threshold": { + "TransitEncryptionPort": { "type": "number" - }, - "Unit": { - "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "FilesystemId" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { + "AWS::ECS::TaskDefinition.EnvironmentFile": { "additionalProperties": false, "properties": { - "Classification": { + "Type": { "type": "string" }, - "ConfigurationProperties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -34460,165 +37351,350 @@ }, "type": "object" }, - "Configurations": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + "type": "string" }, "type": "array" + }, + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { + "type": "number" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "AWS::ECS::TaskDefinition.HostEntry": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + "Hostname": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "IpAddress": { + "type": "string" } }, - "required": [ - "VolumeSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "AWS::ECS::TaskDefinition.HostVolumeProperties": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + "type": "string" }, "type": "array" }, - "EbsOptimized": { - "type": "boolean" + "Drop": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "AWS::ECS::TaskDefinition.KeyValuePair": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, "Value": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "AWS::ECS::TaskDefinition.LinuxParameters": { "additionalProperties": false, "properties": { - "Market": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" } }, "required": [ - "SimpleScalingPolicyConfiguration" + "LogDriver" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "AWS::ECS::TaskDefinition.MountPoint": { "additionalProperties": false, "properties": { - "MaxCapacity": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { "type": "number" }, - "MinCapacity": { + "HostPort": { "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "ContainerName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "AWS::ECS::TaskDefinition.RepositoryCredentials": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { "type": "string" }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { "Name": { "type": "string" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + "ValueFrom": { + "type": "string" } }, "required": [ - "Action", "Name", - "Trigger" + "ValueFrom" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "AWS::ECS::TaskDefinition.SystemControl": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "CloudWatchAlarmDefinition" + "Type" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "AWS::ECS::TaskDefinition.Tmpfs": { "additionalProperties": false, "properties": { - "AdjustmentType": { + "ContainerPath": { "type": "string" }, - "CoolDown": { - "type": "number" + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" }, - "ScalingAdjustment": { + "Size": { "type": "number" } }, "required": [ - "ScalingAdjustment" + "Size" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "AWS::ECS::TaskDefinition.Ulimit": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { + "HardLimit": { "type": "number" }, - "VolumeType": { + "Name": { "type": "string" + }, + "SoftLimit": { + "type": "number" } }, "required": [ - "SizeInGB", - "VolumeType" + "HardLimit", + "Name", + "SoftLimit" ], "type": "object" }, - "AWS::EMR::SecurityConfiguration": { + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34650,21 +37726,53 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "Cluster": { "type": "string" }, - "SecurityConfiguration": { - "type": "object" + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" } }, "required": [ - "SecurityConfiguration" + "Cluster", + "Service", + "TaskDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::SecurityConfiguration" + "AWS::ECS::TaskSet" ], "type": "string" }, @@ -34683,7 +37791,88 @@ ], "type": "object" }, - "AWS::EMR::Step": { + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34715,30 +37904,33 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" }, - "JobFlowId": { + "ClientToken": { "type": "string" }, - "Name": { + "FileSystemId": { "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" } }, "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" + "FileSystemId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::Step" + "AWS::EFS::AccessPoint" ], "type": "string" }, @@ -34757,46 +37949,73 @@ ], "type": "object" }, - "AWS::EMR::Step.HadoopJarStepConfig": { + "AWS::EFS::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "Key": { + "type": "string" }, - "Jar": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { "type": "string" }, - "MainClass": { + "OwnerUid": { "type": "string" }, - "StepProperties": { + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + "type": "string" }, "type": "array" + }, + "Uid": { + "type": "string" } }, "required": [ - "Jar" + "Gid", + "Uid" ], "type": "object" }, - "AWS::EMR::Step.KeyValue": { + "AWS::EFS::AccessPoint.RootDirectory": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" }, - "Value": { + "Path": { "type": "string" } }, "type": "object" }, - "AWS::ElastiCache::CacheCluster": { + "AWS::EFS::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -34828,95 +38047,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, - "AutoMinorVersionUpgrade": { + "Encrypted": { "type": "boolean" }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" + "FileSystemPolicy": { + "type": "object" }, - "CacheSecurityGroupNames": { + "FileSystemTags": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" }, "type": "array" }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { + "KmsKeyId": { "type": "string" }, - "EngineVersion": { - "type": "string" + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" }, - "NotificationTopicArn": { + "PerformanceMode": { "type": "string" }, - "NumCacheNodes": { + "ProvisionedThroughputInMibps": { "type": "number" }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "ThroughputMode": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::EFS::FileSystem" ], "type": "string" }, @@ -34930,12 +38099,51 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElastiCache::ParameterGroup": { + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "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": { @@ -34967,31 +38175,32 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheParameterGroupFamily": { + "FileSystemId": { "type": "string" }, - "Description": { + "IpAddress": { "type": "string" }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "SecurityGroups": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" + }, + "SubnetId": { + "type": "string" } }, "required": [ - "CacheParameterGroupFamily", - "Description" + "FileSystemId", + "SecurityGroups", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::EFS::MountTarget" ], "type": "string" }, @@ -35010,7 +38219,7 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup": { + "AWS::EKS::Addon": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35042,109 +38251,19 @@ "Properties": { "additionalProperties": false, "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { + "AddonName": { "type": "string" }, - "ReplicationGroupId": { + "AddonVersion": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { + "ClusterName": { "type": "string" }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "ResolveConflicts": { "type": "string" }, - "SnapshottingClusterId": { + "ServiceAccountRoleArn": { "type": "string" }, "Tags": { @@ -35152,19 +38271,17 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" } }, "required": [ - "ReplicationGroupDescription" + "AddonName", + "ClusterName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::EKS::Addon" ], "type": "string" }, @@ -35183,31 +38300,7 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { + "AWS::EKS::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35239,18 +38332,37 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { "type": "string" } }, "required": [ - "Description" + "ResourcesVpcConfig", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::EKS::Cluster" ], "type": "string" }, @@ -35269,7 +38381,61 @@ ], "type": "object" }, - "AWS::ElastiCache::SecurityGroupIngress": { + "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.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35301,25 +38467,44 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "ClusterName": { "type": "string" }, - "EC2SecurityGroupName": { + "FargateProfileName": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "PodExecutionRoleArn": { "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "ClusterName", + "PodExecutionRoleArn", + "Selectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::EKS::FargateProfile" ], "type": "string" }, @@ -35338,7 +38523,41 @@ ], "type": "object" }, - "AWS::ElastiCache::SubnetGroup": { + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35370,28 +38589,71 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSubnetGroupName": { + "AmiType": { "type": "string" }, - "Description": { + "CapacityType": { "type": "string" }, - "SubnetIds": { + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { "items": { "type": "string" }, "type": "array" + }, + "Tags": { + "type": "object" + }, + "Version": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "ClusterName", + "NodeRole", + "Subnets" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::EKS::Nodegroup" ], "type": "string" }, @@ -35410,7 +38672,55 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application": { + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35442,21 +38752,99 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "AdditionalInfo": { + "type": "object" }, - "Description": { + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { "type": "string" }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" - } - }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::EMR::Cluster" ], "type": "string" }, @@ -35470,712 +38858,637 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "AWS::EMR::Cluster.Application": { "additionalProperties": false, "properties": { - "ServiceRole": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + "Version": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "AWS::EMR::Cluster.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" } }, + "required": [ + "Constraints", + "Rules" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "AWS::EMR::Cluster.BootstrapActionConfig": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "MaxAgeInDays": { - "type": "number" + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" } }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" + "ComparisonOperator": { + "type": "string" }, - "Enabled": { - "type": "boolean" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" }, - "MaxCount": { + "EvaluationPeriods": { "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MetricName": { + "type": "string" }, - "Metadata": { - "type": "object" + "Namespace": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" + "Period": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], + "Statistic": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "AWS::EMR::Cluster.ComputeLimits": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" + "MaximumCapacityUnits": { + "type": "number" }, - "S3Key": { + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { "type": "string" } }, "required": [ - "S3Bucket", - "S3Key" + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "AWS::EMR::Cluster.Configuration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Classification": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, - "required": [ - "ApplicationName" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" }, - "Value": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "Namespace", - "OptionName" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "AWS::EMR::Cluster.EbsConfiguration": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" }, - "TemplateName": { - "type": "string" + "EbsOptimized": { + "type": "boolean" } }, - "required": [ - "ApplicationName", - "TemplateName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment": { + "AWS::EMR::Cluster.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } + "Args": { + "items": { + "type": "string" }, - "required": [ - "ApplicationName" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], + "Jar": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MainClass": { "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Jar" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "AWS::EMR::Cluster.InstanceFleetConfig": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" }, - "OptionName": { - "type": "string" + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" }, - "ResourceName": { + "Name": { "type": "string" }, - "Value": { - "type": "string" + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" } }, - "required": [ - "Namespace", - "OptionName" - ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.Tier": { + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" }, - "Version": { - "type": "string" + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" } }, "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer": { + "AWS::EMR::Cluster.InstanceGroupConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" + "InstanceCount": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], + "InstanceType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceCount", + "InstanceType" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "AWS::EMR::Cluster.InstanceTypeConfig": { "additionalProperties": false, "properties": { - "EmitInterval": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { "type": "number" }, - "Enabled": { + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { "type": "boolean" }, - "S3BucketName": { + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { "type": "string" }, - "S3BucketPrefix": { + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { "type": "string" } }, "required": [ - "Enabled", - "S3BucketName" + "KdcAdminPassword", + "Realm" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "AWS::EMR::Cluster.KeyValue": { "additionalProperties": false, "properties": { - "CookieName": { + "Key": { "type": "string" }, - "PolicyName": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "CookieName", - "PolicyName" + "Key", + "Value" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" + "AllocationStrategy": { + "type": "string" } }, "required": [ - "Enabled" + "AllocationStrategy" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { - "IdleTimeout": { - "type": "number" + "AvailabilityZone": { + "type": "string" } }, "required": [ - "IdleTimeout" + "AvailabilityZone" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "AWS::EMR::Cluster.ScalingAction": { "additionalProperties": false, "properties": { - "HealthyThreshold": { + "Market": { "type": "string" }, - "Interval": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Target": { - "type": "string" + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" }, - "Timeout": { + "Description": { "type": "string" }, - "UnhealthyThreshold": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" } }, "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "AWS::EMR::Cluster.ScalingTrigger": { "additionalProperties": false, "properties": { - "CookieExpirationPeriod": { - "type": "string" + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" }, - "PolicyName": { + "Path": { "type": "string" } }, + "required": [ + "Path" + ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { "additionalProperties": false, "properties": { - "InstancePort": { + "AdjustmentType": { "type": "string" }, - "InstanceProtocol": { - "type": "string" + "CoolDown": { + "type": "number" }, - "LoadBalancerPort": { + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" + "BlockDurationMinutes": { + "type": "number" }, - "Protocol": { + "TimeoutAction": { "type": "string" }, - "SSLCertificateId": { - "type": "string" + "TimeoutDurationMinutes": { + "type": "number" } }, "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" + "TimeoutAction", + "TimeoutDurationMinutes" ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "AWS::EMR::Cluster.StepConfig": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" }, - "PolicyName": { + "Name": { "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" }, - "PolicyType": { + "SizeInGB": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "required": [ - "Attributes", - "PolicyName", - "PolicyType" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener": { + "AWS::EMR::InstanceFleetConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36207,46 +39520,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" + "ClusterId": { + "type": "string" }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" + "InstanceFleetType": { + "type": "string" }, - "DefaultActions": { + "InstanceTypeConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" }, "type": "array" }, - "LoadBalancerArn": { + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { "type": "string" }, - "Port": { + "TargetOnDemandCapacity": { "type": "number" }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" + "TargetSpotCapacity": { + "type": "number" } }, "required": [ - "DefaultActions", - "LoadBalancerArn" + "ClusterId", + "InstanceFleetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::EMR::InstanceFleetConfig" ], "type": "string" }, @@ -36265,227 +39572,485 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { + "AWS::EMR::InstanceFleetConfig.Configuration": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + "Classification": { + "type": "string" }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "TargetGroupArn": { - "type": "string" + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" }, - "Type": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "Type" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" }, - "type": "object" + "type": "array" }, - "OnUnauthenticatedRequest": { + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { "type": "string" }, - "Scope": { + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { "type": "string" }, - "SessionCookieName": { + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { "type": "string" }, - "SessionTimeout": { + "BlockDurationMinutes": { "type": "number" }, - "UserPoolArn": { + "TimeoutAction": { "type": "string" }, - "UserPoolClientId": { - "type": "string" + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" }, - "UserPoolDomain": { + "SizeInGB": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" + "SizeInGB", + "VolumeType" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "AWS::EMR::InstanceGroupConfig": { "additionalProperties": false, "properties": { - "AuthenticationRequestExtraParams": { - "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": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { "type": "string" } }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], "type": "object" }, - "AuthorizationEndpoint": { + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], "type": "string" }, - "ClientId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" }, - "ClientSecret": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { "type": "string" }, - "Issuer": { - "type": "string" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" }, - "OnUnauthenticatedRequest": { - "type": "string" + "EvaluationPeriods": { + "type": "number" }, - "Scope": { + "MetricName": { "type": "string" }, - "SessionCookieName": { + "Namespace": { "type": "string" }, - "SessionTimeout": { + "Period": { "type": "number" }, - "TokenEndpoint": { + "Statistic": { "type": "string" }, - "UserInfoEndpoint": { + "Threshold": { + "type": "number" + }, + "Unit": { "type": "string" } }, "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "AWS::EMR::InstanceGroupConfig.Configuration": { "additionalProperties": false, "properties": { - "CertificateArn": { + "Classification": { "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { "additionalProperties": false, "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" }, - "StatusCode": { - "type": "string" + "VolumesPerInstance": { + "type": "number" } }, "required": [ - "StatusCode" + "VolumeSpecification" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { "additionalProperties": false, "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { + "EbsBlockDeviceConfigs": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" }, "type": "array" + }, + "EbsOptimized": { + "type": "boolean" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "AWS::EMR::InstanceGroupConfig.MetricDimension": { "additionalProperties": false, "properties": { - "Host": { + "Key": { "type": "string" }, - "Path": { + "Value": { "type": "string" - }, - "Port": { + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { "type": "string" }, - "Protocol": { - "type": "string" + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" }, - "Query": { + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { "type": "string" }, - "StatusCode": { + "Name": { "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" } }, "required": [ - "StatusCode" + "Action", + "Name", + "Trigger" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { "additionalProperties": false, "properties": { - "DurationSeconds": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { "type": "number" }, - "Enabled": { - "type": "boolean" + "ScalingAdjustment": { + "type": "number" } }, + "required": [ + "ScalingAdjustment" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { "additionalProperties": false, "properties": { - "TargetGroupArn": { - "type": "string" + "Iops": { + "type": "number" }, - "Weight": { + "SizeInGB": { "type": "number" + }, + "VolumeType": { + "type": "string" } }, + "required": [ + "SizeInGB", + "VolumeType" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "AWS::EMR::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36517,25 +40082,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { + "Name": { "type": "string" + }, + "SecurityConfiguration": { + "type": "object" } }, "required": [ - "Certificates", - "ListenerArn" + "SecurityConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::EMR::SecurityConfiguration" ], "type": "string" }, @@ -36554,16 +40115,7 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { + "AWS::EMR::Step": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -36595,36 +40147,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" + "ActionOnFailure": { + "type": "string" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" }, - "ListenerArn": { + "JobFlowId": { "type": "string" }, - "Priority": { - "type": "number" + "Name": { + "type": "string" } }, "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::EMR::Step" ], "type": "string" }, @@ -36643,338 +40189,46 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "AWS::EMR::Step.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + "Args": { + "items": { + "type": "string" + }, + "type": "array" }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { + "Jar": { "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { + "MainClass": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { + "StepProperties": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" }, "type": "array" } }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, "required": [ - "StatusCode" + "Jar" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "AWS::EMR::Step.KeyValue": { "additionalProperties": false, "properties": { - "Field": { + "Key": { "type": "string" }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { + "Value": { "type": "string" - }, - "Weight": { - "type": "number" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "AWS::EMR::Studio": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37006,34 +40260,25 @@ "Properties": { "additionalProperties": false, "properties": { - "IpAddressType": { + "AuthMode": { "type": "string" }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" + "DefaultS3Location": { + "type": "string" }, - "Name": { + "Description": { "type": "string" }, - "Scheme": { + "EngineSecurityGroupId": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" + "ServiceRole": { + "type": "string" }, - "Subnets": { + "SubnetIds": { "items": { "type": "string" }, @@ -37045,15 +40290,32 @@ }, "type": "array" }, - "Type": { + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { "type": "string" } }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::EMR::Studio" ], "type": "string" }, @@ -37067,44 +40329,86 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "AWS::EMR::StudioSessionMapping": { "additionalProperties": false, "properties": { - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IPv6Address": { - "type": "string" + "Metadata": { + "type": "object" }, - "PrivateIPv4Address": { + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], "type": "string" }, - "SubnetId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SubnetId" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { + "AWS::EMRContainers::VirtualCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37136,72 +40440,28 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" }, "Name": { "type": "string" }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" } }, + "required": [ + "ContainerProvider", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::EMRContainers::VirtualCluster" ], "type": "string" }, @@ -37215,50 +40475,56 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { "additionalProperties": false, "properties": { - "HttpCode": { - "type": "string" + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" } }, + "required": [ + "EksInfo" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" - }, "Id": { "type": "string" }, - "Port": { - "type": "number" + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" } }, "required": [ - "Id" + "Id", + "Info", + "Type" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::EMRContainers::VirtualCluster.EksInfo": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { + "Namespace": { "type": "string" } }, + "required": [ + "Namespace" + ], "type": "object" }, - "AWS::Elasticsearch::Domain": { + "AWS::ElastiCache::CacheCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37290,56 +40556,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessPolicies": { - "type": "object" + "AZMode": { + "type": "string" }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + "CacheSubnetGroupName": { + "type": "string" }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + "ClusterName": { + "type": "string" }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + "Engine": { + "type": "string" }, - "DomainName": { + "EngineVersion": { "type": "string" }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + "NotificationTopicArn": { + "type": "string" }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + "NumCacheNodes": { + "type": "number" }, - "ElasticsearchVersion": { + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { "type": "string" }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" }, - "type": "object" + "type": "array" }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + "SnapshotName": { + "type": "string" }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" }, "Tags": { "items": { @@ -37347,15 +40628,23 @@ }, "type": "array" }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::ElastiCache::CacheCluster" ], "type": "string" }, @@ -37369,176 +40658,143 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { + "AWS::ElastiCache::GlobalReplicationGroup": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "EnforceHTTPS": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" + "Metadata": { + "type": "object" }, - "Iops": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" }, - "VolumeSize": { - "type": "number" + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" }, - "VolumeType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { "additionalProperties": false, "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { + "ReplicationGroupId": { "type": "string" }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { + "ReplicationGroupRegion": { "type": "string" }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { + "Role": { "type": "string" - }, - "Enabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { "additionalProperties": false, "properties": { - "MasterUserARN": { + "ReplicationGroupId": { "type": "string" }, - "MasterUserName": { + "ReplicationGroupRegion": { "type": "string" }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.VPCOptions": { + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "NodeGroupId": { + "type": "string" }, - "SubnetIds": { + "PreferredAvailabilityZones": { "items": { "type": "string" }, @@ -37547,16 +40803,7 @@ }, "type": "object" }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { + "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37588,27 +40835,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CacheParameterGroupFamily": { "type": "string" }, - "SourceArn": { + "Description": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "SourceArn" + "CacheParameterGroupFamily", + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Discoverer" + "AWS::ElastiCache::ParameterGroup" ], "type": "string" }, @@ -37627,23 +40878,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { + "AWS::ElastiCache::ReplicationGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37675,24 +40910,135 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { "type": "string" }, - "RegistryName": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" }, "type": "array" } }, + "required": [ + "ReplicationGroupDescription" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Registry" + "AWS::ElastiCache::ReplicationGroup" ], "type": "string" }, @@ -37706,27 +41052,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EventSchemas::Registry.TagsEntry": { + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "NodeGroupId": { "type": "string" }, - "Value": { + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::EventSchemas::RegistryPolicy": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37758,25 +41113,18 @@ "Properties": { "additionalProperties": false, "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { + "Description": { "type": "string" } }, "required": [ - "Policy", - "RegistryName" + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::RegistryPolicy" + "AWS::ElastiCache::SecurityGroup" ], "type": "string" }, @@ -37795,7 +41143,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Schema": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37827,38 +41175,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { + "CacheSecurityGroupName": { "type": "string" }, - "Description": { + "EC2SecurityGroupName": { "type": "string" }, - "RegistryName": { - "type": "string" - }, - "SchemaName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { + "EC2SecurityGroupOwnerId": { "type": "string" } }, "required": [ - "Content", - "RegistryName", - "Type" + "CacheSecurityGroupName", + "EC2SecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EventSchemas::Schema" + "AWS::ElastiCache::SecurityGroupIngress" ], "type": "string" }, @@ -37877,23 +41212,7 @@ ], "type": "object" }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::EventBus": { + "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37925,21 +41244,28 @@ "Properties": { "additionalProperties": false, "properties": { - "EventSourceName": { + "CacheSubnetGroupName": { "type": "string" }, - "Name": { + "Description": { "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBus" + "AWS::ElastiCache::SubnetGroup" ], "type": "string" }, @@ -37958,7 +41284,7 @@ ], "type": "object" }, - "AWS::Events::EventBusPolicy": { + "AWS::ElastiCache::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37990,32 +41316,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "AccessString": { "type": "string" }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { + "Engine": { "type": "string" }, - "Principal": { + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { "type": "string" }, - "StatementId": { + "UserName": { "type": "string" } }, "required": [ - "Action", - "Principal", - "StatementId" + "Engine", + "UserId", + "UserName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::ElastiCache::User" ], "type": "string" }, @@ -38034,22 +41366,7 @@ ], "type": "object" }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { + "AWS::ElastiCache::UserGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38081,39 +41398,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { + "Engine": { "type": "string" }, - "State": { + "UserGroupId": { "type": "string" }, - "Targets": { + "UserIds": { "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" + "type": "string" }, "type": "array" } }, + "required": [ + "Engine", + "UserGroupId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::ElastiCache::UserGroup" ], "type": "string" }, @@ -38127,324 +41433,130 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { + "AWS::ElasticBeanstalk::Application": { "additionalProperties": false, "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "type": "object" + ] }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + }, + "Description": { "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" } }, "type": "object" }, - "InputTemplate": { + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PartitionKeyPath" + "Type" ], "type": "object" }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { "additionalProperties": false, "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { + "ServiceRole": { "type": "string" }, - "WithEvent": { - "type": "boolean" + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" } }, - "required": [ - "Database", - "Sql" - ], "type": "object" }, - "AWS::Events::Rule.RetryPolicy": { + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { "additionalProperties": false, "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" } }, - "required": [ - "RunCommandTargets" - ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" } }, - "required": [ - "MessageGroupId" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::ElasticBeanstalk::Application.MaxCountRule": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" + "DeleteSourceFromS3": { + "type": "boolean" }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + "Enabled": { + "type": "boolean" }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + "MaxCount": { + "type": "number" } }, - "required": [ - "Arn", - "Id" - ], "type": "object" }, - "AWS::FMS::NotificationChannel": { + "AWS::ElasticBeanstalk::ApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38476,22 +41588,25 @@ "Properties": { "additionalProperties": false, "properties": { - "SnsRoleName": { + "ApplicationName": { "type": "string" }, - "SnsTopicArn": { + "Description": { "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" } }, "required": [ - "SnsRoleName", - "SnsTopicArn" + "ApplicationName", + "SourceBundle" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::NotificationChannel" + "AWS::ElasticBeanstalk::ApplicationVersion" ], "type": "string" }, @@ -38510,7 +41625,23 @@ ], "type": "object" }, - "AWS::FMS::Policy": { + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38542,61 +41673,39 @@ "Properties": { "additionalProperties": false, "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + "ApplicationName": { + "type": "string" }, - "PolicyName": { + "Description": { "type": "string" }, - "RemediationEnabled": { - "type": "boolean" + "EnvironmentId": { + "type": "string" }, - "ResourceTags": { + "OptionSettings": { "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" }, "type": "array" }, - "ResourceType": { + "PlatformArn": { "type": "string" }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" + "SolutionStackName": { + "type": "string" }, - "SecurityServicePolicyData": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FMS::Policy" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" }, @@ -38615,28 +41724,16 @@ ], "type": "object" }, - "AWS::FMS::Policy.IEMap": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { "additionalProperties": false, "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" + "Namespace": { + "type": "string" }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { + "OptionName": { + "type": "string" + }, + "ResourceName": { "type": "string" }, "Value": { @@ -38644,27 +41741,28 @@ } }, "required": [ - "Key", - "Value" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::FMS::Policy.ResourceTag": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { "additionalProperties": false, "properties": { - "Key": { + "ApplicationName": { "type": "string" }, - "Value": { + "TemplateName": { "type": "string" } }, "required": [ - "Key" + "ApplicationName", + "TemplateName" ], "type": "object" }, - "AWS::FSx::FileSystem": { + "AWS::ElasticBeanstalk::Environment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38696,35 +41794,29 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupId": { + "ApplicationName": { "type": "string" }, - "FileSystemType": { + "CNAMEPrefix": { "type": "string" }, - "KmsKeyId": { + "Description": { "type": "string" }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + "EnvironmentName": { + "type": "string" }, - "SecurityGroupIds": { + "OptionSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" }, "type": "array" }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { + "PlatformArn": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "SolutionStackName": { + "type": "string" }, "Tags": { "items": { @@ -38732,19 +41824,24 @@ }, "type": "array" }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" } }, "required": [ - "FileSystemType", - "SubnetIds" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::FSx::FileSystem" + "AWS::ElasticBeanstalk::Environment" ], "type": "string" }, @@ -38763,106 +41860,44 @@ ], "type": "object" }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "AWS::ElasticBeanstalk::Environment.OptionSetting": { "additionalProperties": false, "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { + "Namespace": { "type": "string" }, - "OrganizationalUnitDistinguishedName": { + "OptionName": { "type": "string" }, - "Password": { + "ResourceName": { "type": "string" }, - "UserName": { + "Value": { "type": "string" } }, + "required": [ + "Namespace", + "OptionName" + ], "type": "object" }, - "AWS::FSx::FileSystem.WindowsConfiguration": { + "AWS::ElasticBeanstalk::Environment.Tier": { "additionalProperties": false, "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { + "Name": { "type": "string" }, - "PreferredSubnetId": { + "Type": { "type": "string" }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { + "Version": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::Alias": { + "AWS::ElasticLoadBalancing::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -38894,25 +41929,90 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { "type": "string" }, - "Name": { + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { "type": "string" }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "RoutingStrategy" + "Listeners" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Alias" + "AWS::ElasticLoadBalancing::LoadBalancer" ], "type": "string" }, @@ -38931,112 +42031,179 @@ ], "type": "object" }, - "AWS::GameLift::Alias.RoutingStrategy": { + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { "additionalProperties": false, "properties": { - "FleetId": { - "type": "string" + "EmitInterval": { + "type": "number" }, - "Message": { + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { "type": "string" }, - "Type": { + "S3BucketPrefix": { "type": "string" } }, + "required": [ + "Enabled", + "S3BucketName" + ], "type": "object" }, - "AWS::GameLift::Build": { + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CookieName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" + "Interval": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], + "Target": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { "type": "string" } }, "required": [ - "Type" + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" ], "type": "object" }, - "AWS::GameLift::Build.S3Location": { + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "Bucket": { + "CookieExpirationPeriod": { "type": "string" }, - "Key": { + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { "type": "string" }, - "ObjectVersion": { + "InstanceProtocol": { "type": "string" }, - "RoleArn": { + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "InstancePort", + "LoadBalancerPort", + "Protocol" ], "type": "object" }, - "AWS::GameLift::Fleet": { + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39068,88 +42235,46 @@ "Properties": { "additionalProperties": false, "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { + "AlpnPolicy": { "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + "type": "string" }, "type": "array" }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "LogPaths": { + "Certificates": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" }, "type": "array" }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { + "DefaultActions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" }, "type": "array" }, - "MinSize": { - "type": "number" - }, - "Name": { + "LoadBalancerArn": { "type": "string" }, - "NewGameSessionProtectionPolicy": { - "type": "string" + "Port": { + "type": "number" }, - "PeerVpcAwsAccountId": { + "Protocol": { "type": "string" }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" - }, - "ServerLaunchParameters": { - "type": "string" - }, - "ServerLaunchPath": { + "SslPolicy": { "type": "string" } }, "required": [ - "EC2InstanceType", - "Name" + "DefaultActions", + "LoadBalancerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Fleet" + "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" }, @@ -39168,283 +42293,227 @@ ], "type": "object" }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { + "AWS::ElasticLoadBalancingV2::Listener.Action": { "additionalProperties": false, "properties": { - "FromPort": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { "type": "number" }, - "IpRange": { - "type": "string" + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" }, - "Protocol": { + "TargetGroupArn": { "type": "string" }, - "ToPort": { - "type": "number" + "Type": { + "type": "string" } }, "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" + "Type" ], "type": "object" }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "NewGameSessionsPerCreator": { - "type": "number" + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" + "OnUnauthenticatedRequest": { + "type": "string" }, - "MaxConcurrentGameSessionActivations": { - "type": "number" + "Scope": { + "type": "string" }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" + "SessionCookieName": { + "type": "string" }, - "LaunchPath": { + "SessionTimeout": { "type": "string" }, - "Parameters": { + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { "type": "string" } }, "required": [ - "ConcurrentExecutions", - "LaunchPath" + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" ], "type": "object" }, - "AWS::GameLift::GameServerGroup": { + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinitions" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.Tags" - }, - "VpcSubnets": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.VpcSubnets" } }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { "additionalProperties": false, "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + "CertificateArn": { + "type": "string" } }, - "required": [ - "TargetTrackingConfiguration" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { "additionalProperties": false, "properties": { - "InstanceType": { + "ContentType": { "type": "string" }, - "WeightedCapacity": { + "MessageBody": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "InstanceType" + "StatusCode" ], "type": "object" }, - "AWS::GameLift::GameServerGroup.InstanceDefinitions": { + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { "additionalProperties": false, "properties": { - "InstanceDefinitions": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" }, "type": "array" } }, "type": "object" }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { - "LaunchTemplateId": { + "Host": { "type": "string" }, - "LaunchTemplateName": { + "Path": { "type": "string" }, - "Version": { + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, + "required": [ + "StatusCode" + ], "type": "object" }, - "AWS::GameLift::GameServerGroup.Tags": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { "additionalProperties": false, "properties": { - "TargetValue": { + "DurationSeconds": { "type": "number" + }, + "Enabled": { + "type": "boolean" } }, - "required": [ - "TargetValue" - ], "type": "object" }, - "AWS::GameLift::GameServerGroup.VpcSubnets": { + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { "additionalProperties": false, "properties": { - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39476,33 +42545,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { + "Certificates": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" }, "type": "array" }, - "Name": { + "ListenerArn": { "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "TimeoutInSeconds": { - "type": "number" } }, "required": [ - "Name" + "Certificates", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::GameSessionQueue" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" }, @@ -39521,28 +42582,16 @@ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { "additionalProperties": false, "properties": { - "DestinationArn": { + "CertificateArn": { "type": "string" } }, "type": "object" }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { + "AWS::ElasticLoadBalancingV2::ListenerRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39574,66 +42623,36 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { + "Actions": { "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" }, "type": "array" }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" }, "type": "array" }, - "Name": { - "type": "string" - }, - "NotificationTarget": { + "ListenerArn": { "type": "string" }, - "RequestTimeoutSeconds": { + "Priority": { "type": "number" - }, - "RuleSetName": { - "type": "string" } }, "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" + "Actions", + "Conditions", + "ListenerArn", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::MatchmakingConfiguration" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" }, @@ -39652,180 +42671,341 @@ ], "type": "object" }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { "additionalProperties": false, "properties": { - "Key": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { "type": "string" }, - "Value": { + "Type": { "type": "string" } }, "required": [ - "Key", - "Value" + "Type" ], "type": "object" }, - "AWS::GameLift::MatchmakingRuleSet": { + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "RuleSetBody": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "Name", - "RuleSetBody" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], + "OnUnauthenticatedRequest": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { "type": "string" } }, "required": [ - "Type", - "Properties" + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" ], "type": "object" }, - "AWS::GameLift::Script": { + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "StorageLocation" - ], "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], + "AuthorizationEndpoint": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" ], "type": "object" }, - "AWS::GameLift::Script.S3Location": { + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { "type": "string" }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { "Key": { "type": "string" }, - "ObjectVersion": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { "type": "string" }, - "RoleArn": { + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "StatusCode" ], "type": "object" }, - "AWS::GlobalAccelerator::Accelerator": { + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39857,36 +43037,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, "IpAddressType": { "type": "string" }, - "IpAddresses": { + "LoadBalancerAttributes": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" }, "type": "array" }, "Name": { "type": "string" }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Accelerator" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" }, @@ -39900,12 +43098,44 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup": { + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -39937,14 +43167,8 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" + "HealthCheckEnabled": { + "type": "boolean" }, "HealthCheckIntervalSeconds": { "type": "number" @@ -39953,36 +43177,65 @@ "type": "string" }, "HealthCheckPort": { - "type": "number" + "type": "string" }, "HealthCheckProtocol": { "type": "string" }, - "ListenerArn": { + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { "type": "string" }, - "PortOverrides": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "ThresholdCount": { - "type": "number" + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" }, - "TrafficDialPercentage": { + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { "type": "number" + }, + "VpcId": { + "type": "string" } }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" }, @@ -39996,46 +43249,53 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { "additionalProperties": false, "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" + "GrpcCode": { + "type": "string" }, - "EndpointId": { + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { "type": "string" }, - "Weight": { + "Id": { + "type": "string" + }, + "Port": { "type": "number" } }, "required": [ - "EndpointId" + "Id" ], "type": "object" }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { "additionalProperties": false, "properties": { - "EndpointPort": { - "type": "number" + "Key": { + "type": "string" }, - "ListenerPort": { - "type": "number" + "Value": { + "type": "string" } }, - "required": [ - "EndpointPort", - "ListenerPort" - ], "type": "object" }, - "AWS::GlobalAccelerator::Listener": { + "AWS::Elasticsearch::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40067,32 +43327,72 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorArn": { - "type": "string" + "AccessPolicies": { + "type": "object" }, - "ClientAffinity": { + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { "type": "string" }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" - }, - "type": "array" + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" }, - "Protocol": { + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::GlobalAccelerator::Listener" + "AWS::Elasticsearch::Domain" ], "type": "string" }, @@ -40106,181 +43406,203 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::GlobalAccelerator::Listener.PortRange": { + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ToPort": { - "type": "number" + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" } }, - "required": [ - "FromPort", - "ToPort" - ], "type": "object" }, - "AWS::Glue::Classifier": { + "AWS::Elasticsearch::Domain.CognitoOptions": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Enabled": { + "type": "boolean" }, - "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" + "IdentityPoolId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], + "RoleArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "UserPoolId": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Glue::Classifier.CsvClassifier": { + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { + "CustomEndpoint": { "type": "string" }, - "Delimiter": { + "CustomEndpointCertificateArn": { "type": "string" }, - "DisableValueTrimming": { + "CustomEndpointEnabled": { "type": "boolean" }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" + "EnforceHTTPS": { + "type": "boolean" }, - "Name": { + "TLSSecurityPolicy": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" }, - "QuoteSymbol": { + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Classifier.GrokClassifier": { + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { - "Classification": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { "type": "string" }, - "CustomPatterns": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "GrokPattern": { + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { "type": "string" }, - "Name": { + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { "type": "string" } }, - "required": [ - "Classification", - "GrokPattern" - ], "type": "object" }, - "AWS::Glue::Classifier.JsonClassifier": { + "AWS::Elasticsearch::Domain.LogPublishingOption": { "additionalProperties": false, "properties": { - "JsonPath": { + "CloudWatchLogsLogGroupArn": { "type": "string" }, - "Name": { - "type": "string" + "Enabled": { + "type": "boolean" } }, - "required": [ - "JsonPath" - ], "type": "object" }, - "AWS::Glue::Classifier.XMLClassifier": { + "AWS::Elasticsearch::Domain.MasterUserOptions": { "additionalProperties": false, "properties": { - "Classification": { + "MasterUserARN": { "type": "string" }, - "Name": { + "MasterUserName": { "type": "string" }, - "RowTag": { + "MasterUserPassword": { "type": "string" } }, - "required": [ - "Classification", - "RowTag" - ], "type": "object" }, - "AWS::Glue::Connection": { + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40312,22 +43634,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" } }, "required": [ - "CatalogId", - "ConnectionInput" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Connection" + "AWS::EventSchemas::Discoverer" ], "type": "string" }, @@ -40346,56 +43673,23 @@ ], "type": "object" }, - "AWS::Glue::Connection.ConnectionInput": { + "AWS::EventSchemas::Discoverer.TagsEntry": { "additionalProperties": false, "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { + "Key": { "type": "string" }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { + "Value": { "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "ConnectionProperties", - "ConnectionType" + "Key", + "Value" ], "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::EventSchemas::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40427,55 +43721,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, "Description": { "type": "string" }, - "Name": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { + "RegistryName": { "type": "string" }, "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" } }, - "required": [ - "Role", - "Targets" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Crawler" + "AWS::EventSchemas::Registry" ], "type": "string" }, @@ -40489,120 +43752,27 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { + "AWS::EventSchemas::Registry.TagsEntry": { "additionalProperties": false, "properties": { - "DeleteBehavior": { + "Key": { "type": "string" }, - "UpdateBehavior": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { + "AWS::EventSchemas::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40634,22 +43804,25 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Policy": { + "type": "object" + }, + "RegistryName": { "type": "string" }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + "RevisionId": { + "type": "string" } }, "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" + "Policy", + "RegistryName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" + "AWS::EventSchemas::RegistryPolicy" ], "type": "string" }, @@ -40668,51 +43841,15 @@ ], "type": "object" }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { + "AWS::EventSchemas::Schema": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -40736,22 +43873,38 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Content": { "type": "string" }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, "required": [ - "CatalogId", - "DatabaseInput" + "Content", + "RegistryName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Database" + "AWS::EventSchemas::Schema" ], "type": "string" }, @@ -40770,25 +43923,23 @@ ], "type": "object" }, - "AWS::Glue::Database.DatabaseInput": { + "AWS::EventSchemas::Schema.TagsEntry": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "LocationUri": { + "Key": { "type": "string" }, - "Name": { + "Value": { "type": "string" - }, - "Parameters": { - "type": "object" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::DevEndpoint": { + "AWS::Events::ApiDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40820,66 +43971,109 @@ "Properties": { "additionalProperties": false, "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { + "ConnectionArn": { "type": "string" }, - "ExtraJarsS3Path": { + "Description": { "type": "string" }, - "ExtraPythonLibsS3Path": { + "HttpMethod": { "type": "string" }, - "GlueVersion": { + "InvocationEndpoint": { "type": "string" }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { + "InvocationRateLimitPerSecond": { "type": "number" }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { + "Name": { "type": "string" - }, - "SecurityConfiguration": { + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "SecurityGroupIds": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" }, - "SubnetId": { + "Description": { "type": "string" }, - "Tags": { + "EventPattern": { "type": "object" }, - "WorkerType": { + "RetentionDays": { + "type": "number" + }, + "SourceArn": { "type": "string" } }, "required": [ - "RoleArn" + "SourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::DevEndpoint" + "AWS::Events::Archive" ], "type": "string" }, @@ -40898,7 +44092,7 @@ ], "type": "object" }, - "AWS::Glue::Job": { + "AWS::Events::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -40930,70 +44124,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { + "AuthParameters": { "type": "object" }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { + "AuthorizationType": { "type": "string" }, - "LogUri": { + "Description": { "type": "string" }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, "Name": { "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" } }, "required": [ - "Command", - "Role" + "AuthParameters", + "AuthorizationType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Job" + "AWS::Events::Connection" ], "type": "string" }, @@ -41012,52 +44164,72 @@ ], "type": "object" }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { + "AWS::Events::EventBus": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PythonVersion": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], "type": "string" }, - "ScriptLocation": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { + "AWS::Events::EventBusPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41089,53 +44261,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { + "Action": { "type": "string" }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" }, - "Name": { + "EventBusName": { "type": "string" }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { + "Principal": { "type": "string" }, - "Tags": { + "Statement": { "type": "object" }, - "Timeout": { - "type": "number" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { + "StatementId": { "type": "string" } }, "required": [ - "InputRecordTables", - "Role", - "TransformParameters" + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::MLTransform" + "AWS::Events::EventBusPolicy" ], "type": "string" }, @@ -41154,77 +44306,22 @@ ], "type": "object" }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { + "AWS::Events::EventBusPolicy.Condition": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { + "Key": { "type": "string" }, - "TableName": { + "Type": { "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" }, - "TransformType": { + "Value": { "type": "string" } }, - "required": [ - "TransformType" - ], "type": "object" }, - "AWS::Glue::Partition": { + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41256,30 +44353,39 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "Description": { "type": "string" }, - "DatabaseName": { + "EventBusName": { "type": "string" }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + "EventPattern": { + "type": "object" }, - "TableName": { + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" } }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Partition" + "AWS::Events::Rule" ], "type": "string" }, @@ -41293,153 +44399,324 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::Partition.Column": { + "AWS::Events::Rule.AwsVpcConfiguration": { "additionalProperties": false, "properties": { - "Comment": { + "AssignPublicIp": { "type": "string" }, - "Name": { - "type": "string" + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "Subnets" ], "type": "object" }, - "AWS::Glue::Partition.Order": { + "AWS::Events::Rule.BatchArrayProperties": { "additionalProperties": false, "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { + "Size": { "type": "number" } }, - "required": [ - "Column" - ], "type": "object" }, - "AWS::Glue::Partition.PartitionInput": { + "AWS::Events::Rule.BatchParameters": { "additionalProperties": false, "properties": { - "Parameters": { - "type": "object" + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + "JobDefinition": { + "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" } }, "required": [ - "Values" + "JobDefinition", + "JobName" ], "type": "object" }, - "AWS::Glue::Partition.SerdeInfo": { + "AWS::Events::Rule.BatchRetryStrategy": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" + "Attempts": { + "type": "number" } }, "type": "object" }, - "AWS::Glue::Partition.SkewedInfo": { + "AWS::Events::Rule.DeadLetterConfig": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { + "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "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" }, - "SkewedColumnValueLocationMaps": { + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, - "SkewedColumnValues": { + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" }, "type": "array" } }, + "required": [ + "RunCommandTargets" + ], "type": "object" }, - "AWS::Glue::Partition.StorageDescriptor": { + "AWS::Events::Rule.RunCommandTarget": { "additionalProperties": false, "properties": { - "BucketColumns": { + "Key": { + "type": "string" + }, + "Values": { "items": { "type": "string" }, "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" }, - "Compressed": { - "type": "boolean" + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" }, - "InputFormat": { - "type": "string" + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" }, - "Location": { + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" + "Input": { + "type": "string" }, - "OutputFormat": { + "InputPath": { "type": "string" }, - "Parameters": { - "type": "object" + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" }, - "StoredAsSubDirectories": { - "type": "boolean" + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" } }, + "required": [ + "Arn", + "Id" + ], "type": "object" }, - "AWS::Glue::SecurityConfiguration": { + "AWS::FMS::NotificationChannel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41471,22 +44748,22 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + "SnsRoleName": { + "type": "string" }, - "Name": { + "SnsTopicArn": { "type": "string" } }, "required": [ - "EncryptionConfiguration", - "Name" + "SnsRoleName", + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::SecurityConfiguration" + "AWS::FMS::NotificationChannel" ], "type": "string" }, @@ -41505,63 +44782,7 @@ ], "type": "object" }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" - }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { - "additionalProperties": false, - "properties": { - "JobBookmarksEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "S3EncryptionMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { + "AWS::FMS::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41593,26 +44814,61 @@ "Properties": { "additionalProperties": false, "properties": { - "CatalogId": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { "type": "string" }, - "DatabaseName": { + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { "type": "string" }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" } }, "required": [ - "CatalogId", - "DatabaseName", - "TableInput" + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Table" + "AWS::FMS::Policy" ], "type": "string" }, @@ -41631,68 +44887,16 @@ ], "type": "object" }, - "AWS::Glue::Table.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SkewedInfo": { + "AWS::FMS::Policy.IEMap": { "additionalProperties": false, "properties": { - "SkewedColumnNames": { + "ACCOUNT": { "items": { "type": "string" }, "type": "array" }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { + "ORGUNIT": { "items": { "type": "string" }, @@ -41701,97 +44905,38 @@ }, "type": "object" }, - "AWS::Glue::Table.StorageDescriptor": { + "AWS::FMS::Policy.PolicyTag": { "additionalProperties": false, "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { + "Key": { "type": "string" }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { + "Value": { "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Glue::Table.TableInput": { + "AWS::FMS::Policy.ResourceTag": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Retention": { - "type": "number" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" - }, - "TableType": { - "type": "string" - }, - "ViewExpandedText": { + "Key": { "type": "string" }, - "ViewOriginalText": { + "Value": { "type": "string" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::Glue::Trigger": { + "AWS::FSx::FileSystem": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41823,46 +44968,55 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" + "BackupId": { + "type": "string" }, - "Description": { + "FileSystemType": { "type": "string" }, - "Name": { + "KmsKeyId": { "type": "string" }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" }, - "Schedule": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { "type": "string" }, - "StartOnCreation": { - "type": "boolean" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { - "type": "object" - }, - "Type": { - "type": "string" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "WorkflowName": { - "type": "string" + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" } }, "required": [ - "Actions", - "Type" + "FileSystemType", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Trigger" + "AWS::FSx::FileSystem" ], "type": "string" }, @@ -41881,76 +45035,115 @@ ], "type": "object" }, - "AWS::Glue::Trigger.Action": { + "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { - "Arguments": { - "type": "object" + "AutoImportPolicy": { + "type": "string" }, - "CrawlerName": { + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { "type": "string" }, - "JobName": { + "DeploymentType": { "type": "string" }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + "DriveCacheType": { + "type": "string" }, - "SecurityConfiguration": { + "ExportPath": { "type": "string" }, - "Timeout": { + "ImportPath": { + "type": "string" + }, + "ImportedFileChunkSize": { "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" } }, "type": "object" }, - "AWS::Glue::Trigger.Condition": { + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { "additionalProperties": false, "properties": { - "CrawlState": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { "type": "string" }, - "CrawlerName": { + "FileSystemAdministratorsGroup": { "type": "string" }, - "JobName": { + "OrganizationalUnitDistinguishedName": { "type": "string" }, - "LogicalOperator": { + "Password": { "type": "string" }, - "State": { + "UserName": { "type": "string" } }, "type": "object" }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { + "AWS::FSx::FileSystem.WindowsConfiguration": { "additionalProperties": false, "properties": { - "Conditions": { + "ActiveDirectoryId": { + "type": "string" + }, + "Aliases": { "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + "type": "string" }, "type": "array" }, - "Logical": { + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { "type": "string" } }, + "required": [ + "ThroughputCapacity" + ], "type": "object" }, - "AWS::Glue::Workflow": { + "AWS::GameLift::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -41982,24 +45175,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultRunProperties": { - "type": "object" - }, "Description": { "type": "string" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" } }, + "required": [ + "Name", + "RoutingStrategy" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::Workflow" + "AWS::GameLift::Alias" ], "type": "string" }, @@ -42013,11 +45207,27 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition": { + "AWS::GameLift::Alias.RoutingStrategy": { + "additionalProperties": false, + "properties": { + "FleetId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::Build": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42049,24 +45259,24 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" - }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "OperatingSystem": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinition" + "AWS::GameLift::Build" ], "type": "string" }, @@ -42080,46 +45290,34 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinition.Connector": { + "AWS::GameLift::Build.S3Location": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "Bucket": { "type": "string" }, - "Id": { + "Key": { "type": "string" }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" - }, - "type": "array" + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" } }, "required": [ - "Connectors" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion": { + "AWS::GameLift::Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42151,25 +45349,88 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionId": { + "BuildId": { "type": "string" }, - "Connectors": { + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "LogPaths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" }, "type": "array" + }, + "MinSize": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + }, + "ServerLaunchParameters": { + "type": "string" + }, + "ServerLaunchPath": { + "type": "string" } }, "required": [ - "ConnectorDefinitionId", - "Connectors" + "EC2InstanceType", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" + "AWS::GameLift::Fleet" ], "type": "string" }, @@ -42188,26 +45449,92 @@ ], "type": "object" }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "AWS::GameLift::Fleet.CertificateConfiguration": { "additionalProperties": false, "properties": { - "ConnectorArn": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { "type": "string" }, - "Id": { + "Protocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "additionalProperties": false, + "properties": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { "type": "string" }, "Parameters": { - "type": "object" + "type": "string" } }, "required": [ - "ConnectorArn", - "Id" + "ConcurrentExecutions", + "LaunchPath" ], "type": "object" }, - "AWS::Greengrass::CoreDefinition": { + "AWS::GameLift::GameServerGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42239,24 +45566,63 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" }, - "Name": { + "BalancingStrategy": { + "type": "string" + }, + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name" + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinition" + "AWS::GameLift::GameServerGroup" ], "type": "string" }, @@ -42275,45 +45641,64 @@ ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.Core": { + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" + "EstimatedInstanceWarmup": { + "type": "number" }, - "Id": { + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { "type": "string" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "WeightedCapacity": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" + "InstanceType" ], "type": "object" }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "AWS::GameLift::GameServerGroup.LaunchTemplate": { "additionalProperties": false, "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" } }, "required": [ - "Cores" + "TargetValue" ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion": { + "AWS::GameLift::GameSessionQueue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42345,25 +45730,33 @@ "Properties": { "additionalProperties": false, "properties": { - "CoreDefinitionId": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "Cores": { + "PlayerLatencyPolicies": { "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" }, "type": "array" + }, + "TimeoutInSeconds": { + "type": "number" } }, "required": [ - "CoreDefinitionId", - "Cores" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" + "AWS::GameLift::GameSessionQueue" ], "type": "string" }, @@ -42382,30 +45775,28 @@ ], "type": "object" }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { + "AWS::GameLift::GameSessionQueue.Destination": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { + "DestinationArn": { "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { + "additionalProperties": false, + "properties": { + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" + "PolicyDurationSeconds": { + "type": "number" } }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition": { + "AWS::GameLift::MatchmakingConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42437,24 +45828,66 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { + "type": "string" + }, + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { + "items": { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" + }, + "type": "array" }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" } }, "required": [ - "Name" + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinition" + "AWS::GameLift::MatchmakingConfiguration" ], "type": "string" }, @@ -42473,45 +45906,23 @@ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinition.Device": { + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { + "Key": { "type": "string" }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { + "Value": { "type": "string" } }, "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" + "Key", + "Value" ], "type": "object" }, - "AWS::Greengrass::DeviceDefinitionVersion": { + "AWS::GameLift::MatchmakingRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42543,25 +45954,22 @@ "Properties": { "additionalProperties": false, "properties": { - "DeviceDefinitionId": { + "Name": { "type": "string" }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" + "RuleSetBody": { + "type": "string" } }, "required": [ - "DeviceDefinitionId", - "Devices" + "Name", + "RuleSetBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" + "AWS::GameLift::MatchmakingRuleSet" ], "type": "string" }, @@ -42580,30 +45988,7 @@ ], "type": "object" }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition": { + "AWS::GameLift::Script": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42635,24 +46020,24 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" - }, "Name": { "type": "string" }, - "Tags": { - "type": "object" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" } }, "required": [ - "Name" + "StorageLocation" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinition" + "AWS::GameLift::Script" ], "type": "string" }, @@ -42671,144 +46056,110 @@ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { + "AWS::GameLift::Script.S3Location": { "additionalProperties": false, "properties": { - "IsolationMode": { + "Bucket": { "type": "string" }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { + "Key": { "type": "string" }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + "ObjectVersion": { + "type": "string" }, - "Id": { + "RoleArn": { "type": "string" } }, "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "AWS::GlobalAccelerator::Accelerator": { "additionalProperties": false, "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + "Metadata": { + "type": "object" }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Accelerator" + ], "type": "string" }, - "ResourceId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ResourceId" + "Type", + "Properties" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { + "AWS::GlobalAccelerator::EndpointGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -42840,28 +46191,52 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" }, - "FunctionDefinitionId": { + "EndpointGroupRegion": { "type": "string" }, - "Functions": { + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" }, "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" } }, "required": [ - "FunctionDefinitionId", - "Functions" + "EndpointGroupRegion", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" + "AWS::GlobalAccelerator::EndpointGroup" ], "type": "string" }, @@ -42880,126 +46255,41 @@ ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { "additionalProperties": false, "properties": { - "AccessSysfs": { + "ClientIPPreservationEnabled": { "type": "boolean" }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { + "EndpointId": { "type": "string" }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" + "Weight": { + "type": "number" } }, "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" + "EndpointId" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { "additionalProperties": false, "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { + "EndpointPort": { "type": "number" }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { + "ListenerPort": { "type": "number" } }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, "required": [ - "ResourceId" + "EndpointPort", + "ListenerPort" ], "type": "object" }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { + "AWS::GlobalAccelerator::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43031,27 +46321,32 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { + "AcceleratorArn": { "type": "string" }, - "RoleArn": { + "ClientAffinity": { "type": "string" }, - "Tags": { - "type": "object" + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" } }, "required": [ - "Name" + "AcceleratorArn", + "PortRanges", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::Group" + "AWS::GlobalAccelerator::Listener" ], "type": "string" }, @@ -43070,34 +46365,23 @@ ], "type": "object" }, - "AWS::Greengrass::Group.GroupVersion": { + "AWS::GlobalAccelerator::Listener.PortRange": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" + "FromPort": { + "type": "number" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "ToPort": { + "type": "number" } }, + "required": [ + "FromPort", + "ToPort" + ], "type": "object" }, - "AWS::Greengrass::GroupVersion": { + "AWS::Glue::Classifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43129,39 +46413,24 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" }, - "LoggerDefinitionVersionArn": { - "type": "string" + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" }, - "ResourceDefinitionVersionArn": { - "type": "string" + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" }, - "SubscriptionDefinitionVersionArn": { - "type": "string" + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" } }, - "required": [ - "GroupId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::GroupVersion" + "AWS::Glue::Classifier" ], "type": "string" }, @@ -43175,122 +46444,97 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition": { + "AWS::Glue::Classifier.CsvClassifier": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Delimiter": { + "type": "string" }, - "Metadata": { - "type": "object" + "DisableValueTrimming": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } + "Header": { + "items": { + "type": "string" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "QuoteSymbol": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.Logger": { + "AWS::Glue::Classifier.GrokClassifier": { "additionalProperties": false, "properties": { - "Component": { + "Classification": { "type": "string" }, - "Id": { + "CustomPatterns": { "type": "string" }, - "Level": { + "GrokPattern": { "type": "string" }, - "Space": { - "type": "number" + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" }, - "Type": { + "Name": { "type": "string" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "JsonPath" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "AWS::Glue::Classifier.XMLClassifier": { "additionalProperties": false, "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" } }, "required": [ - "Loggers" + "Classification", + "RowTag" ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion": { + "AWS::Glue::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43322,25 +46566,22 @@ "Properties": { "additionalProperties": false, "properties": { - "LoggerDefinitionId": { + "CatalogId": { "type": "string" }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" } }, "required": [ - "LoggerDefinitionId", - "Loggers" + "CatalogId", + "ConnectionInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" + "AWS::Glue::Connection" ], "type": "string" }, @@ -43359,34 +46600,55 @@ ], "type": "object" }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "AWS::Glue::Connection.ConnectionInput": { "additionalProperties": false, "properties": { - "Component": { - "type": "string" + "ConnectionProperties": { + "type": "object" }, - "Id": { + "ConnectionType": { "type": "string" }, - "Level": { + "Description": { "type": "string" }, - "Space": { - "type": "number" + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { + "Name": { "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, "required": [ - "Component", - "Id", - "Level", - "Type" + "ConnectionType" ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition": { + "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": { @@ -43418,24 +46680,55 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" }, "Name": { "type": "string" }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, "Tags": { "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" } }, "required": [ - "Name" + "Role", + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinition" + "AWS::Glue::Crawler" ], "type": "string" }, @@ -43454,184 +46747,118 @@ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "AWS::Glue::Crawler.CatalogTarget": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "DatabaseName": { "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { - "DestinationPath": { + "ConnectionName": { "type": "string" }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" }, - "SourcePath": { + "Path": { "type": "string" } }, - "required": [ - "DestinationPath", - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + "ConnectionName": { + "type": "string" }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { + "Exclusions": { "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + "type": "string" }, "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" }, - "GroupPermission": { + "Path": { "type": "string" } }, - "required": [ - "GroupOwner", - "GroupPermission" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "AWS::Glue::Crawler.Schedule": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Name": { + "ScheduleExpression": { "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" } }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "AWS::Glue::Crawler.SchemaChangePolicy": { "additionalProperties": false, "properties": { - "DestinationPath": { + "DeleteBehavior": { "type": "string" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { + "UpdateBehavior": { "type": "string" } }, - "required": [ - "DestinationPath", - "S3Uri" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "AWS::Glue::Crawler.Targets": { "additionalProperties": false, "properties": { - "DestinationPath": { - "type": "string" + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" }, - "AdditionalStagingLabelsToDownload": { + "S3Targets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" }, "type": "array" } }, - "required": [ - "ARN" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion": { + "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43663,25 +46890,22 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceDefinitionId": { + "CatalogId": { "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" } }, "required": [ - "ResourceDefinitionId", - "Resources" + "CatalogId", + "DataCatalogEncryptionSettings" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" + "AWS::Glue::DataCatalogEncryptionSettings" ], "type": "string" }, @@ -43700,169 +46924,43 @@ ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { "additionalProperties": false, "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { + "KmsKeyId": { "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" } }, - "required": [ - "AutoAddGroupOwner" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" }, - "SourcePath": { - "type": "string" + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" } }, - "required": [ - "SourcePath" - ], "type": "object" }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { "additionalProperties": false, "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "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": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { + "CatalogEncryptionMode": { "type": "string" }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { + "SseAwsKmsKeyId": { "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "ARN" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition": { + "AWS::Glue::Database": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -43894,24 +46992,22 @@ "Properties": { "additionalProperties": false, "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { + "CatalogId": { "type": "string" }, - "Tags": { - "type": "object" + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" } }, "required": [ - "Name" + "CatalogId", + "DatabaseInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinition" + "AWS::Glue::Database" ], "type": "string" }, @@ -43930,46 +47026,40 @@ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { + "CatalogId": { "type": "string" }, - "Target": { + "DatabaseName": { "type": "string" } }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" } }, - "required": [ - "Subscriptions" - ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { + "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44001,25 +47091,66 @@ "Properties": { "additionalProperties": false, "properties": { - "SubscriptionDefinitionId": { + "Arguments": { + "type": "object" + }, + "EndpointName": { "type": "string" }, - "Subscriptions": { + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" }, "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "SubscriptionDefinitionId", - "Subscriptions" + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" + "AWS::Glue::DevEndpoint" ], "type": "string" }, @@ -44038,31 +47169,7 @@ ], "type": "object" }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector": { + "AWS::Glue::Job": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44094,24 +47201,70 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + "AllocatedCapacity": { + "type": "number" }, - "Enable": { - "type": "boolean" + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" }, - "FindingPublishingFrequency": { + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { "type": "string" } }, "required": [ - "Enable" + "Command", + "Role" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Glue::Job" ], "type": "string" }, @@ -44130,25 +47283,52 @@ ], "type": "object" }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "AWS::Glue::Job.ConnectionsList": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + "Connections": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "AWS::Glue::Job.ExecutionProperty": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "MaxConcurrentRuns": { + "type": "number" } }, "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44180,38 +47360,56 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, "Description": { "type": "string" }, - "DetectorId": { + "GlueVersion": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" }, "Name": { "type": "string" }, - "Rank": { + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" + "InputRecordTables", + "Role", + "TransformParameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Glue::MLTransform" ], "type": "string" }, @@ -44230,46 +47428,104 @@ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Glue::MLTransform.FindMatchesParameters": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { + "AccuracyCostTradeoff": { "type": "number" }, - "Lt": { - "type": "number" + "EnforceProvidedLabels": { + "type": "boolean" }, - "Lte": { + "PrecisionRecallTradeoff": { "type": "number" }, - "Neq": { + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" }, "type": "array" } }, "type": "object" }, - "AWS::GuardDuty::Filter.FindingCriteria": { + "AWS::Glue::MLTransform.MLUserDataEncryption": { "additionalProperties": false, "properties": { - "Criterion": { - "type": "object" + "KmsKeyId": { + "type": "string" }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + "MLUserDataEncryptionMode": { + "type": "string" } }, + "required": [ + "MLUserDataEncryptionMode" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44301,33 +47557,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { + "CatalogId": { "type": "string" }, - "Format": { + "DatabaseName": { "type": "string" }, - "Location": { - "type": "string" + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" }, - "Name": { + "TableName": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], + "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Glue::Partition" ], "type": "string" }, @@ -44346,155 +47599,181 @@ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Glue::Partition.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], + "SchemaArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchemaName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SchameVersionId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, - "Metadata": { + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], + "type": "array" + }, + "SkewedColumnValueLocationMaps": { "type": "object" }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Location": { "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Glue::Registry": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44526,33 +47805,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { + "Description": { "type": "string" }, "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::Glue::Registry" ], "type": "string" }, @@ -44571,7 +47844,7 @@ ], "type": "object" }, - "AWS::IAM::AccessKey": { + "AWS::Glue::Schema": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44603,24 +47876,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Serial": { - "type": "number" + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" }, - "Status": { + "Compatibility": { "type": "string" }, - "UserName": { + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "UserName" + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::AccessKey" + "AWS::Glue::Schema" ], "type": "string" }, @@ -44639,7 +47933,31 @@ ], "type": "object" }, - "AWS::IAM::Group": { + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44671,30 +47989,22 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" }, - "Path": { + "SchemaDefinition": { "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" } }, + "required": [ + "Schema", + "SchemaDefinition" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Group" + "AWS::Glue::SchemaVersion" ], "type": "string" }, @@ -44708,27 +48018,27 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::Group.Policy": { + "AWS::Glue::SchemaVersion.Schema": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" + "RegistryName": { + "type": "string" }, - "PolicyName": { + "SchemaArn": { + "type": "string" + }, + "SchemaName": { "type": "string" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::InstanceProfile": { + "AWS::Glue::SchemaVersionMetadata": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44760,27 +48070,26 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { + "Key": { "type": "string" }, - "Path": { + "SchemaVersionId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "Value": { + "type": "string" } }, "required": [ - "Roles" + "Key", + "SchemaVersionId", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::Glue::SchemaVersionMetadata" ], "type": "string" }, @@ -44799,7 +48108,7 @@ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::Glue::SecurityConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44831,45 +48140,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" }, - "Path": { + "Name": { "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "PolicyDocument" + "EncryptionConfiguration", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::Glue::SecurityConfiguration" ], "type": "string" }, @@ -44888,7 +48174,63 @@ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -44920,40 +48262,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "CatalogId": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" } }, "required": [ - "PolicyDocument", - "PolicyName" + "CatalogId", + "DatabaseName", + "TableInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::Glue::Table" ], "type": "string" }, @@ -44972,24 +48300,235 @@ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::Glue::Table.Column": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Comment": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchameVersionId": { + "type": "string" + }, + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { "items": { "pattern": "^[a-zA-Z0-9]+$", "type": "string" @@ -45004,51 +48543,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Trigger.Action" }, "type": "array" }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { + "Description": { "type": "string" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" }, - "RoleName": { + "Schedule": { "type": "string" }, + "StartOnCreation": { + "type": "boolean" + }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" + }, + "Type": { + "type": "string" + }, + "WorkflowName": { + "type": "string" } }, "required": [ - "AssumeRolePolicyDocument" + "Actions", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Role" + "AWS::Glue::Trigger" ], "type": "string" }, @@ -45067,23 +48601,76 @@ ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::Glue::Trigger.Action": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "Arguments": { "type": "object" }, - "PolicyName": { + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { "type": "string" + }, + "Timeout": { + "type": "number" } }, - "required": [ - "PolicyDocument", - "PolicyName" - ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "CrawlState": { + "type": "string" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45115,24 +48702,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AWSServiceName": { - "type": "string" + "DefaultRunProperties": { + "type": "object" }, - "CustomSuffix": { + "Description": { "type": "string" }, - "Description": { + "Name": { "type": "string" + }, + "Tags": { + "type": "object" } }, - "required": [ - "AWSServiceName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::Glue::Workflow" ], "type": "string" }, @@ -45146,12 +48733,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IAM::User": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45183,48 +48769,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" }, @@ -45238,42 +48800,46 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::Greengrass::ConnectorDefinition.Connector": { "additionalProperties": false, "properties": { - "Password": { + "ConnectorArn": { "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" } }, "required": [ - "Password" + "ConnectorArn", + "Id" ], "type": "object" }, - "AWS::IAM::User.Policy": { + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" } }, "required": [ - "PolicyDocument", - "PolicyName" + "Connectors" ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45305,25 +48871,25 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "ConnectorDefinitionId": { "type": "string" }, - "Users": { + "Connectors": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" }, "type": "array" } }, "required": [ - "GroupName", - "Users" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" }, @@ -45342,7 +48908,26 @@ ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45374,30 +48959,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::Greengrass::CoreDefinition" ], "type": "string" }, @@ -45411,82 +48990,50 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::Greengrass::CoreDefinition.Core": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Id": { + "type": "string" }, - "Metadata": { - "type": "object" + "SyncShadow": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ThingArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "CertificateArn", + "Id", + "ThingArn" ], "type": "object" }, - "AWS::IVS::StreamKey": { + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45518,24 +49065,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelArn": { + "CoreDefinitionId": { "type": "string" }, - "Tags": { + "Cores": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" }, "type": "array" } }, "required": [ - "ChannelArn" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::StreamKey" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" }, @@ -45554,107 +49102,30 @@ ], "type": "object" }, - "AWS::ImageBuilder::Component": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CertificateArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "CertificateArn", + "Id", + "ThingArn" ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration": { + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45686,37 +49157,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, "Name": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "Distributions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" }, @@ -45735,28 +49193,45 @@ ], "type": "object" }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "AWS::Greengrass::DeviceDefinition.Device": { "additionalProperties": false, "properties": { - "AmiDistributionConfiguration": { - "type": "object" + "CertificateArn": { + "type": "string" }, - "LicenseConfigurationArns": { + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" }, "type": "array" - }, - "Region": { - "type": "string" } }, "required": [ - "Region" + "Devices" ], "type": "object" }, - "AWS::ImageBuilder::Image": { + "AWS::Greengrass::DeviceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45788,40 +49263,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { + "DeviceDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" }, - "type": "object" + "type": "array" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" + "DeviceDefinitionId", + "Devices" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Image" + "AWS::Greengrass::DeviceDefinitionVersion" ], "type": "string" }, @@ -45840,19 +49300,30 @@ ], "type": "object" }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "AWS::Greengrass::DeviceDefinitionVersion.Device": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { "type": "boolean" }, - "TimeoutMinutes": { - "type": "number" + "ThingArn": { + "type": "string" } }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline": { + "AWS::Greengrass::FunctionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -45884,53 +49355,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" }, "Name": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" } }, "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::Greengrass::FunctionDefinition" ], "type": "string" }, @@ -45949,31 +49391,144 @@ ], "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { "additionalProperties": false, "properties": { - "ImageTestsEnabled": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { "type": "boolean" }, - "TimeoutMinutes": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { "additionalProperties": false, "properties": { - "PipelineExecutionStartCondition": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { "type": "string" }, - "ScheduleExpression": { + "ResourceId": { "type": "string" } }, + "required": [ + "ResourceId" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe": { + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46005,54 +49560,28 @@ "Properties": { "additionalProperties": false, "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" }, - "ParentImage": { + "FunctionDefinitionId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" + "type": "array" } }, "required": [ - "Components", - "Name", - "ParentImage", - "Version" + "FunctionDefinitionId", + "Functions" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::ImageRecipe" + "AWS::Greengrass::FunctionDefinitionVersion" ], "type": "string" }, @@ -46071,61 +49600,126 @@ ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { "additionalProperties": false, "properties": { - "ComponentArn": { - "type": "string" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" } }, + "required": [ + "Execution" + ], "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { "additionalProperties": false, "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { + "AccessSysfs": { "type": "boolean" }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" }, - "VolumeSize": { - "type": "number" + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" }, - "VolumeType": { - "type": "string" + "Variables": { + "type": "object" } }, "type": "object" }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { "additionalProperties": false, "properties": { - "DeviceName": { + "IsolationMode": { "type": "string" }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" }, - "NoDevice": { + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { "type": "string" }, - "VirtualName": { + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration": { + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46157,70 +49751,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { + "RoleArn": { "type": "string" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::Greengrass::Group" ], "type": "string" }, @@ -46239,89 +49790,34 @@ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::Greengrass::Group.GroupVersion": { "additionalProperties": false, "properties": { - "S3BucketName": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CoreDefinitionVersionArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DeviceDefinitionVersionArn": { + "type": "string" }, - "Metadata": { - "type": "object" + "FunctionDefinitionVersionArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" + "LoggerDefinitionVersionArn": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], + "ResourceDefinitionVersionArn": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SubscriptionDefinitionVersionArn": { "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Inspector::AssessmentTemplate": { + "AWS::Greengrass::GroupVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46353,38 +49849,39 @@ "Properties": { "additionalProperties": false, "properties": { - "AssessmentTargetArn": { + "ConnectorDefinitionVersionArn": { "type": "string" }, - "AssessmentTemplateName": { + "CoreDefinitionVersionArn": { "type": "string" }, - "DurationInSeconds": { - "type": "number" + "DeviceDefinitionVersionArn": { + "type": "string" }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" + "FunctionDefinitionVersionArn": { + "type": "string" }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" } }, "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" + "GroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::AssessmentTemplate" + "AWS::Greengrass::GroupVersion" ], "type": "string" }, @@ -46403,7 +49900,7 @@ ], "type": "object" }, - "AWS::Inspector::ResourceGroup": { + "AWS::Greengrass::LoggerDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46435,21 +49932,24 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ - "ResourceGroupTags" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::Greengrass::LoggerDefinition" ], "type": "string" }, @@ -46468,144 +49968,49 @@ ], "type": "object" }, - "AWS::IoT1Click::Device": { + "AWS::Greengrass::LoggerDefinition.Logger": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Component": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Id": { + "type": "string" }, - "Metadata": { - "type": "object" + "Level": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "DeviceId", - "Enabled" - ], - "type": "object" + "Space": { + "type": "number" }, "Type": { - "enum": [ - "AWS::IoT1Click::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Component", + "Id", + "Level", + "Type" ], "type": "object" }, - "AWS::IoT1Click::Placement": { + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type", - "Properties" + "Loggers" ], "type": "object" }, - "AWS::IoT1Click::Project": { + "AWS::Greengrass::LoggerDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46637,24 +50042,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LoggerDefinitionId": { "type": "string" }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" } }, "required": [ - "PlacementTemplate" + "LoggerDefinitionId", + "Loggers" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT1Click::Project" + "AWS::Greengrass::LoggerDefinitionVersion" ], "type": "string" }, @@ -46673,31 +50079,34 @@ ], "type": "object" }, - "AWS::IoT1Click::Project.DeviceTemplate": { + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { "additionalProperties": false, "properties": { - "CallbackOverrides": { - "type": "object" + "Component": { + "type": "string" }, - "DeviceType": { + "Id": { "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT1Click::Project.PlacementTemplate": { - "additionalProperties": false, - "properties": { - "DefaultAttributes": { - "type": "object" }, - "DeviceTemplates": { - "type": "object" + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" } }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], "type": "object" }, - "AWS::IoT::Authorizer": { + "AWS::Greengrass::ResourceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46729,36 +50138,24 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" }, - "Status": { + "Name": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::IoT::Authorizer.Tags" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "$ref": "#/definitions/AWS::IoT::Authorizer.TokenSigningPublicKeys" + "type": "object" } }, "required": [ - "AuthorizerFunctionArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Authorizer" + "AWS::Greengrass::ResourceDefinition" ], "type": "string" }, @@ -46777,163 +50174,184 @@ ], "type": "object" }, - "AWS::IoT::Authorizer.Tags": { + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "type": "object" - }, - "type": "array" + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" } }, + "required": [ + "AutoAddGroupOwner" + ], "type": "object" }, - "AWS::IoT::Authorizer.TokenSigningPublicKeys": { + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { "additionalProperties": false, - "properties": {}, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], "type": "object" }, - "AWS::IoT::Certificate": { + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DestinationPath": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" }, - "Metadata": { - "type": "object" + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" }, - "Type": { - "enum": [ - "AWS::IoT::Certificate" - ], + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "GroupPermission": { "type": "string" } }, "required": [ - "Type", - "Properties" + "GroupOwner", + "GroupPermission" ], "type": "object" }, - "AWS::IoT::Policy": { + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Id": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Name": { + "type": "string" }, - "Metadata": { - "type": "object" + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" }, - "Type": { - "enum": [ - "AWS::IoT::Policy" - ], + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DestinationPath", + "SageMakerJobArn" ], "type": "object" }, - "AWS::IoT::PolicyPrincipalAttachment": { + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -46965,22 +50383,25 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyName": { + "ResourceDefinitionId": { "type": "string" }, - "Principal": { - "type": "string" + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" } }, "required": [ - "PolicyName", - "Principal" + "ResourceDefinitionId", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::Greengrass::ResourceDefinitionVersion" ], "type": "string" }, @@ -46999,7 +50420,169 @@ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate": { + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "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": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47031,37 +50614,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" }, - "ProvisioningRoleArn": { + "Name": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.Tags" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateName": { - "type": "string" + "type": "object" } }, "required": [ - "ProvisioningRoleArn", - "TemplateBody" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ProvisioningTemplate" + "AWS::Greengrass::SubscriptionDefinition" ], "type": "string" }, @@ -47080,31 +50650,46 @@ ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "AWS::Greengrass::SubscriptionDefinition.Subscription": { "additionalProperties": false, "properties": { - "PayloadVersion": { + "Id": { "type": "string" }, - "TargetArn": { + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { "type": "string" } }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], "type": "object" }, - "AWS::IoT::ProvisioningTemplate.Tags": { + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { "additionalProperties": false, "properties": { - "Tags": { + "Subscriptions": { "items": { - "type": "object" + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" }, "type": "array" } }, + "required": [ + "Subscriptions" + ], "type": "object" }, - "AWS::IoT::Thing": { + "AWS::Greengrass::SubscriptionDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47136,18 +50721,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { + "SubscriptionDefinitionId": { "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" } }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::Thing" + "AWS::Greengrass::SubscriptionDefinitionVersion" ], "type": "string" }, @@ -47161,26 +50753,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::Thing.AttributePayload": { + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" } }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], "type": "object" }, - "AWS::IoT::ThingPrincipalAttachment": { + "AWS::GreengrassV2::ComponentVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47212,22 +50814,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Principal": { + "InlineRecipe": { "type": "string" }, - "ThingName": { - "type": "string" + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "Principal", - "ThingName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::GreengrassV2::ComponentVersion" ], "type": "string" }, @@ -47241,657 +50848,638 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoT::TopicRule": { + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DependencyType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { "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" - ], + "Name": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::IoT::TopicRule.Action": { + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { "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" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" - }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + "MemorySizeInKB": { + "type": "number" }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + "MountROSysfs": { + "type": "boolean" }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" } }, "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { "additionalProperties": false, "properties": { - "OffsetInNanos": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { "type": "string" }, - "TimeInSeconds": { + "Permission": { "type": "string" } }, - "required": [ - "TimeInSeconds" - ], "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyValue": { + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { "additionalProperties": false, "properties": { - "Quality": { + "Topic": { "type": "string" }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + "Type": { + "type": "string" } }, - "required": [ - "Timestamp", - "Value" - ], "type": "object" }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { "additionalProperties": false, "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "IntegerValue": { - "type": "string" + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoleArn": { + "InputPayloadEncodingType": { "type": "string" }, - "StateReason": { - "type": "string" + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" }, - "StateValue": { - "type": "string" - } - }, - "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" + "MaxIdleTimeInSeconds": { + "type": "number" }, - "MetricNamespace": { - "type": "string" + "MaxInstancesCount": { + "type": "number" }, - "MetricTimestamp": { - "type": "string" + "MaxQueueSize": { + "type": "number" }, - "MetricUnit": { - "type": "string" + "Pinned": { + "type": "boolean" }, - "MetricValue": { - "type": "string" + "StatusTimeoutInSeconds": { + "type": "number" }, - "RoleArn": { - "type": "string" + "TimeoutInSeconds": { + "type": "number" } }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" - ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBAction": { + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { "additionalProperties": false, "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { - "type": "string" + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" }, - "RangeKeyField": { - "type": "string" + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" }, - "RangeKeyType": { + "ComponentName": { "type": "string" }, - "RangeKeyValue": { - "type": "string" + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" }, - "RoleArn": { + "ComponentVersion": { "type": "string" }, - "TableName": { + "LambdaArn": { "type": "string" } }, - "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" - ], "type": "object" }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { "additionalProperties": false, "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" }, - "RoleArn": { + "IsolationMode": { "type": "string" } }, "type": "object" }, - "AWS::IoT::TopicRule.ElasticsearchAction": { + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" + "AddGroupOwner": { + "type": "boolean" }, - "Index": { + "DestinationPath": { "type": "string" }, - "RoleArn": { + "Permission": { "type": "string" }, - "Type": { + "SourcePath": { "type": "string" } }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], "type": "object" }, - "AWS::IoT::TopicRule.FirehoseAction": { + "AWS::GuardDuty::Detector": { "additionalProperties": false, "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAction": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ConfirmationUrl": { - "type": "string" + "Metadata": { + "type": "object" }, - "Headers": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + "Properties": { + "additionalProperties": false, + "properties": { + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } }, - "type": "array" + "required": [ + "Enable" + ], + "type": "object" }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpActionHeader": { - "additionalProperties": false, - "properties": { - "Key": { + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.HttpAuthorization": { + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { "additionalProperties": false, "properties": { - "Sigv4": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" } }, "type": "object" }, - "AWS::IoT::TopicRule.IotAnalyticsAction": { + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { "additionalProperties": false, "properties": { - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" + "Enable": { + "type": "boolean" } }, - "required": [ - "ChannelName", - "RoleArn" - ], "type": "object" }, - "AWS::IoT::TopicRule.IotEventsAction": { + "AWS::GuardDuty::Filter": { "additionalProperties": false, "properties": { - "InputName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MessageId": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], "type": "string" }, - "RoleArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InputName", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.IotSiteWiseAction": { + "AWS::GuardDuty::Filter.Condition": { "additionalProperties": false, "properties": { - "PutAssetPropertyValueEntries": { + "Eq": { "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + "type": "string" }, "type": "array" }, - "RoleArn": { - "type": "string" + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "PutAssetPropertyValueEntries", - "RoleArn" - ], "type": "object" }, - "AWS::IoT::TopicRule.KinesisAction": { + "AWS::GuardDuty::Filter.FindingCriteria": { "additionalProperties": false, "properties": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" + "Criterion": { + "type": "object" }, - "StreamName": { - "type": "string" + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, - "required": [ - "RoleArn", - "StreamName" - ], "type": "object" }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "AWS::GuardDuty::IPSet": { "additionalProperties": false, "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PropertyAlias": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PropertyId": { - "type": "string" + "Metadata": { + "type": "object" }, - "PropertyValues": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } }, - "type": "array" - } - }, - "required": [ - "PropertyValues" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.PutItemInput": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], "type": "string" }, - "Topic": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RoleArn", - "Topic" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.S3Action": { + "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" - }, - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SigV4Authorization": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ServiceName": { - "type": "string" + "Metadata": { + "type": "object" }, - "SigningRegion": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "ServiceName", - "SigningRegion" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SnsAction": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], "type": "string" }, - "TargetArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RoleArn", - "TargetArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoT::TopicRule.SqsAction": { + "AWS::GuardDuty::Member": { "additionalProperties": false, "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoleArn": { - "type": "string" + "Metadata": { + "type": "object" }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" }, - "Description": { + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], "type": "string" }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Actions", - "RuleDisabled", - "Sql" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel": { + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -47923,27 +51511,33 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelName": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { "type": "string" }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + "Format": { + "type": "string" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + "Location": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "type": "string" } }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Channel" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -47957,59 +51551,80 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { + "AWS::IAM::AccessKey": { "additionalProperties": false, "properties": { - "Bucket": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeyPrefix": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], "type": "string" }, - "RoleArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Bucket", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { + "AWS::IAM::Group": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48041,48 +51656,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" + "GroupName": { + "type": "string" }, - "ContentDeliveryRules": { + "ManagedPolicyArns": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + "type": "string" }, "type": "array" }, - "DatasetName": { + "Path": { "type": "string" }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { + "Policies": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + "$ref": "#/definitions/AWS::IAM::Group.Policy" }, "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" } }, - "required": [ - "Actions" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Dataset" + "AWS::IAM::Group" ], "type": "string" }, @@ -48096,303 +51693,187 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Action": { + "AWS::IAM::Group.Policy": { "additionalProperties": false, "properties": { - "ActionName": { - "type": "string" - }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + "PolicyDocument": { + "type": "object" }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" + "PolicyName": { + "type": "string" } }, "required": [ - "ActionName" + "PolicyDocument", + "PolicyName" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { + "AWS::IAM::InstanceProfile": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" - }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" - }, - "TimeExpression": { - "type": "string" - } - }, - "required": [ - "OffsetSeconds", - "TimeExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" + "Metadata": { + "type": "object" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "required": [ - "NumberOfDays", - "Unlimited" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" + "required": [ + "Roles" + ], + "type": "object" }, - "Key": { + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], "type": "string" }, - "RoleArn": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Bucket", - "Key", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.Schedule": { + "AWS::IAM::ManagedPolicy": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DoubleValue": { - "type": "number" + "Metadata": { + "type": "object" }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" }, - "StringValue": { + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], "type": "string" }, - "VariableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "VariableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { + "AWS::IAM::OIDCProvider": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48424,27 +51905,36 @@ "Properties": { "additionalProperties": false, "properties": { - "DatastoreName": { - "type": "string" - }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + "ClientIdList": { + "items": { + "type": "string" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThumbprintList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" } }, + "required": [ + "ThumbprintList" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Datastore" + "AWS::IAM::OIDCProvider" ], "type": "string" }, @@ -48458,59 +51948,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { + "AWS::IAM::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48542,30 +51985,40 @@ "Properties": { "additionalProperties": false, "properties": { - "PipelineActivities": { + "Groups": { "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + "type": "string" }, "type": "array" }, - "PipelineName": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { "type": "string" }, - "Tags": { + "Roles": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" }, "type": "array" } }, "required": [ - "PipelineActivities" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTAnalytics::Pipeline" + "AWS::IAM::Policy" ], "type": "string" }, @@ -48584,214 +52037,333 @@ ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Activity": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" - }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" - }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + "Metadata": { + "type": "object" }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssumeRolePolicyDocument" + ], "type": "object" }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Channel": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::Role" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Datastore": { + "AWS::IAM::Role.Policy": { "additionalProperties": false, "properties": { - "DatastoreName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Name": { + "PolicyName": { "type": "string" } }, + "required": [ + "PolicyDocument", + "PolicyName" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "AWS::IAM::SAMLProvider": { "additionalProperties": false, "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "Next": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" }, - "RoleArn": { + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], "type": "string" }, - "ThingName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Filter": { + "AWS::IAM::ServerCertificate": { "additionalProperties": false, "properties": { - "Filter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" + "Metadata": { + "type": "object" }, - "LambdaName": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateBody": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::ServerCertificate" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::IoTAnalytics::Pipeline.Math": { + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { - "Attribute": { - "type": "string" - }, - "Math": { - "type": "string" - }, - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AWSServiceName": { + "type": "string" + }, + "CustomSuffix": { + "type": "string" + }, + "Description": { + "type": "string" + } }, - "type": "array" + "required": [ + "AWSServiceName" + ], + "type": "object" }, - "Name": { + "Type": { + "enum": [ + "AWS::IAM::ServiceLinkedRole" + ], "type": "string" }, - "Next": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -48823,36 +52395,48 @@ "Properties": { "additionalProperties": false, "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "DetectorModelDescription": { - "type": "string" + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" }, - "DetectorModelName": { - "type": "string" + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EvaluationMethod": { + "Path": { "type": "string" }, - "Key": { + "PermissionsBoundary": { "type": "string" }, - "RoleArn": { - "type": "string" + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserName": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::DetectorModel" + "AWS::IAM::User" ], "type": "string" }, @@ -48870,415 +52454,184 @@ ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.Action": { + "AWS::IAM::User.LoginProfile": { "additionalProperties": false, "properties": { - "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" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + "Password": { + "type": "string" }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" + "PasswordResetRequired": { + "type": "boolean" } }, + "required": [ + "Password" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { - "OffsetInNanos": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "TimeInSeconds": { + "PolicyName": { "type": "string" } }, + "required": [ + "PolicyDocument", + "PolicyName" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { - "Quality": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Value": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" + "Metadata": { + "type": "object" }, - "DoubleValue": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" }, - "IntegerValue": { + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], "type": "string" }, - "StringValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::DetectorModel.ClearTimer": { + "AWS::IAM::VirtualMFADevice": { "additionalProperties": false, "properties": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "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": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "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" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" + "required": [ + "Users" + ], + "type": "object" }, "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], "type": "string" }, - "NextState": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::IoTEvents::Input": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49310,13 +52663,13 @@ "Properties": { "additionalProperties": false, "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + "Authorized": { + "type": "boolean" }, - "InputDescription": { + "LatencyMode": { "type": "string" }, - "InputName": { + "Name": { "type": "string" }, "Tags": { @@ -49324,13 +52677,16 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Type": { + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::IoTEvents::Input" + "AWS::IVS::Channel" ], "type": "string" }, @@ -49348,28 +52704,7 @@ ], "type": "object" }, - "AWS::IoTEvents::Input.Attribute": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::Input.InputDefinition": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::Asset": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49401,24 +52736,12 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { + "Name": { "type": "string" }, - "AssetName": { + "PublicKeyMaterial": { "type": "string" }, - "AssetProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -49427,14 +52750,13 @@ } }, "required": [ - "AssetModelId", - "AssetName" + "PublicKeyMaterial" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Asset" + "AWS::IVS::PlaybackKeyPair" ], "type": "string" }, @@ -49453,41 +52775,7 @@ ], "type": "object" }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "NotificationState": { - "type": "string" - } - }, - "required": [ - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49519,24 +52807,9 @@ "Properties": { "additionalProperties": false, "properties": { - "AssetModelDescription": { - "type": "string" - }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" - }, - "AssetModelName": { + "ChannelArn": { "type": "string" }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -49545,13 +52818,13 @@ } }, "required": [ - "AssetModelName" + "ChannelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::AssetModel" + "AWS::IVS::StreamKey" ], "type": "string" }, @@ -49570,178 +52843,107 @@ ], "type": "object" }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { - "ChildAssetModelId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "LogicalId": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" - } - }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { - "additionalProperties": false, - "properties": { - "DataType": { - "type": "string" + "Metadata": { + "type": "object" }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + "Properties": { + "additionalProperties": false, + "properties": { + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" + } }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" - }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "TypeName" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Transform": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" + "required": [ + "Name", + "Platform", + "Version" + ], + "type": "object" }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" - } - }, - "required": [ - "Interval" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { - "additionalProperties": false, - "properties": { - "HierarchyLogicalId": { + "Type": { + "enum": [ + "AWS::ImageBuilder::Component" + ], "type": "string" }, - "PropertyLogicalId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PropertyLogicalId" + "Type", + "Properties" ], "type": "object" }, - "AWS::IoTSiteWise::Gateway": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49773,34 +52975,71 @@ "Properties": { "additionalProperties": false, "properties": { - "GatewayCapabilitySummaries": { + "Components": { "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" }, "type": "array" }, - "GatewayName": { + "ContainerType": { "type": "string" }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ - "GatewayName", - "GatewayPlatform" + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTSiteWise::Gateway" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -49819,46 +53058,28 @@ ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { + "ComponentArn": { "type": "string" } }, - "required": [ - "CapabilityNamespace" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { - "additionalProperties": false, - "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" - } - }, - "required": [ - "Greengrass" - ], "type": "object" }, - "AWS::IoTSiteWise::Gateway.Greengrass": { + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { - "GroupArn": { + "RepositoryName": { + "type": "string" + }, + "Service": { "type": "string" } }, - "required": [ - "GroupArn" - ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate": { + "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49890,21 +53111,37 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleNamespaceVersion": { - "type": "number" + "Description": { + "type": "string" }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + "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": [ - "Definition" + "Distributions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::ImageBuilder::DistributionConfiguration" ], "type": "string" }, @@ -49923,23 +53160,31 @@ ], "type": "object" }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { "additionalProperties": false, "properties": { - "Language": { - "type": "string" + "AmiDistributionConfiguration": { + "type": "object" }, - "Text": { + "ContainerDistributionConfiguration": { + "type": "object" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { "type": "string" } }, "required": [ - "Language", - "Text" + "Region" ], "type": "object" }, - "AWS::KMS::Alias": { + "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -49971,22 +53216,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasName": { + "ContainerRecipeArn": { "type": "string" }, - "TargetKeyId": { + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "AliasName", - "TargetKeyId" + "InfrastructureConfigurationArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Alias" + "AWS::ImageBuilder::Image" ], "type": "string" }, @@ -50005,7 +53270,19 @@ ], "type": "object" }, - "AWS::KMS::Key": { + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50037,39 +53314,55 @@ "Properties": { "additionalProperties": false, "properties": { + "ContainerRecipeArn": { + "type": "string" + }, "Description": { "type": "string" }, - "EnableKeyRotation": { - "type": "boolean" + "DistributionConfigurationArn": { + "type": "string" }, - "Enabled": { + "EnhancedImageMetadataEnabled": { "type": "boolean" }, - "KeyPolicy": { - "type": "object" + "ImageRecipeArn": { + "type": "string" }, - "KeyUsage": { + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { "type": "string" }, - "PendingWindowInDays": { - "type": "number" + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "KeyPolicy" + "InfrastructureConfigurationArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::KMS::Key" + "AWS::ImageBuilder::ImagePipeline" ], "type": "string" }, @@ -50088,7 +53381,31 @@ ], "type": "object" }, - "AWS::Kendra::DataSource": { + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50120,43 +53437,54 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" }, - "Description": { - "type": "string" + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" }, - "IndexId": { + "Description": { "type": "string" }, "Name": { "type": "string" }, - "RoleArn": { - "type": "string" - }, - "Schedule": { + "ParentImage": { "type": "string" }, "Tags": { - "$ref": "#/definitions/AWS::Kendra::DataSource.TagList" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "Type": { + "Version": { + "type": "string" + }, + "WorkingDirectory": { "type": "string" } }, "required": [ - "DataSourceConfiguration", - "IndexId", + "Components", "Name", - "RoleArn", - "Type" + "ParentImage", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::DataSource" + "AWS::ImageBuilder::ImageRecipe" ], "type": "string" }, @@ -50175,657 +53503,787 @@ ], "type": "object" }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { - "KeyPath": { + "ComponentArn": { "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.AclConfiguration": { + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { - "AllowedGroupsColumnName": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { "type": "string" } }, - "required": [ - "AllowedGroupsColumnName" - ], "type": "object" }, - "AWS::Kendra::DataSource.ChangeDetectingColumns": { + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { "additionalProperties": false, "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" - }, - "DocumentDataColumnName": { + "DeviceName": { "type": "string" }, - "DocumentIdColumnName": { - "type": "string" + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" }, - "DocumentTitleColumnName": { + "NoDevice": { "type": "string" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "VirtualName": { + "type": "string" } }, - "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" - ], "type": "object" }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { + "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { - "DatabaseHost": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DatabaseName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DatabasePort": { - "type": "number" + "Metadata": { + "type": "object" }, - "SecretArn": { + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "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": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { "additionalProperties": false, "properties": { - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" - }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" } }, "type": "object" }, - "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { "additionalProperties": false, "properties": { - "DataSourceInclusionsExclusionsStrings": { - "items": { - "type": "string" - }, - "type": "array" + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { + "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { - "DataSourceFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DateFieldFormat": { + "DependsOn": { + "anyOf": [ + { + "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" }, - "IndexFieldName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DataSourceFieldName", - "IndexFieldName" + "Type" ], "type": "object" }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { - "additionalProperties": false, - "properties": { - "DataSourceToIndexFieldMappingList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "AWS::Inspector::AssessmentTemplate": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { - "additionalProperties": false, - "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + "Metadata": { + "type": "object" }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + "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" }, - "DatabaseEngineType": { + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTemplate" + ], "type": "string" }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "AWS::Inspector::ResourceGroup": { "additionalProperties": false, "properties": { - "S3Prefix": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { - "additionalProperties": false, - "properties": { - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "Metadata": { + "type": "object" }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupTags" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], "type": "string" }, - "TenantDomain": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.OneDriveUserList": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { + "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { - "OneDriveUserList": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BucketName": { - "type": "string" + "Metadata": { + "type": "object" }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], + "type": "string" }, - "InclusionPrefixes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "BucketName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.S3Path": { + "AWS::IoT1Click::Placement": { "additionalProperties": false, "properties": { - "Bucket": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "IncludeFilterTypes": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { - "additionalProperties": false, - "properties": { - "SalesforceChatterFeedIncludeFilterTypes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { - "additionalProperties": false, - "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" + "required": [ + "ProjectName" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], "type": "string" }, - "ServerUrl": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" } }, "required": [ - "SecretArn", - "ServerUrl" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { + "AWS::IoT1Click::Project": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceCustomKnowledgeArticleTypeConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" + "required": [ + "PlacementTemplate" + ], + "type": "object" }, - "IncludedStates": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "IncludedStates" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { - "additionalProperties": false, - "properties": { - "SalesforceKnowledgeArticleStateList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { + "AWS::IoT1Click::Project.DeviceTemplate": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { - "type": "string" + "CallbackOverrides": { + "type": "object" }, - "DocumentTitleFieldName": { + "DeviceType": { "type": "string" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, - "required": [ - "DocumentDataFieldName" - ], "type": "object" }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { + "AWS::IoT1Click::Project.PlacementTemplate": { "additionalProperties": false, "properties": { - "DocumentTitleFieldName": { - "type": "string" + "DefaultAttributes": { + "type": "object" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "DeviceTemplates": { + "type": "object" } }, "type": "object" }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "AWS::IoT::AccountAuditConfiguration": { "additionalProperties": false, "properties": { - "DocumentDataFieldName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DocumentTitleFieldName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { - "additionalProperties": false, - "properties": { - "SalesforceStandardObjectConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" }, - "SecretArn": { + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], "type": "string" }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" + "Type", + "Properties" ], "type": "object" }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { "additionalProperties": false, "properties": { - "CrawlAttachments": { + "Enabled": { "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" - }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, - "required": [ - "DocumentDataFieldName" - ], "type": "object" }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { "additionalProperties": false, "properties": { - "CrawlAttachments": { - "type": "boolean" + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "ExcludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "IncludeAttachmentFilePatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "DocumentTitleFieldName": { - "type": "string" + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "ExclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "FieldMappings": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "InclusionPatterns": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "SecretArn": { - "type": "string" + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "SharePointVersion": { - "type": "string" + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "UseChangeLog": { - "type": "boolean" + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" } }, - "required": [ - "SecretArn", - "SharePointVersion", - "Urls" - ], "type": "object" }, - "AWS::Kendra::DataSource.SqlConfiguration": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { "additionalProperties": false, "properties": { - "QueryIdentifiersEnclosingOption": { + "Enabled": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "type": "object" }, - "AWS::Kendra::DataSource.TagList": { + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { "additionalProperties": false, "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" } }, "type": "object" }, - "AWS::Kendra::Faq": { + "AWS::IoT::Authorizer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50857,39 +54315,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AuthorizerFunctionArn": { "type": "string" }, - "FileFormat": { + "AuthorizerName": { "type": "string" }, - "IndexId": { - "type": "string" + "SigningDisabled": { + "type": "boolean" }, - "Name": { + "Status": { "type": "string" }, - "RoleArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + "TokenKeyName": { + "type": "string" }, - "Tags": { - "$ref": "#/definitions/AWS::Kendra::Faq.TagList" + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" + "AuthorizerFunctionArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Faq" + "AWS::IoT::Authorizer" ], "type": "string" }, @@ -50908,35 +54372,7 @@ ], "type": "object" }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Faq.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index": { + "AWS::IoT::Certificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50968,41 +54404,30 @@ "Properties": { "additionalProperties": false, "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { + "CACertificatePem": { "type": "string" }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfigurationList" - }, - "Edition": { + "CertificateMode": { "type": "string" }, - "Name": { + "CertificatePem": { "type": "string" }, - "RoleArn": { + "CertificateSigningRequest": { "type": "string" }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/AWS::Kendra::Index.TagList" + "Status": { + "type": "string" } }, "required": [ - "Edition", - "Name", - "RoleArn" + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Index" + "AWS::IoT::Certificate" ], "type": "string" }, @@ -51021,141 +54446,7 @@ ], "type": "object" }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfigurationList": { - "additionalProperties": false, - "properties": { - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.TagList": { - "additionalProperties": false, - "properties": { - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItems": { - "additionalProperties": false, - "properties": { - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { + "AWS::IoT::CustomMetric": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51187,17 +54478,14 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "DisplayName": { "type": "string" }, - "RetentionPeriodHours": { - "type": "number" - }, - "ShardCount": { - "type": "number" + "MetricName": { + "type": "string" }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + "MetricType": { + "type": "string" }, "Tags": { "items": { @@ -51207,13 +54495,13 @@ } }, "required": [ - "ShardCount" + "MetricType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kinesis::Stream" + "AWS::IoT::CustomMetric" ], "type": "string" }, @@ -51232,23 +54520,7 @@ ], "type": "object" }, - "AWS::Kinesis::Stream.StreamEncryption": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KeyId": { - "type": "string" - } - }, - "required": [ - "EncryptionType", - "KeyId" - ], - "type": "object" - }, - "AWS::Kinesis::StreamConsumer": { + "AWS::IoT::Dimension": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51280,22 +54552,34 @@ "Properties": { "additionalProperties": false, "properties": { - "ConsumerName": { + "Name": { "type": "string" }, - "StreamARN": { + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { "type": "string" } }, "required": [ - "ConsumerName", - "StreamARN" + "StringValues", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kinesis::StreamConsumer" + "AWS::IoT::Dimension" ], "type": "string" }, @@ -51314,7 +54598,7 @@ ], "type": "object" }, - "AWS::KinesisAnalytics::Application": { + "AWS::IoT::DomainConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51346,30 +54630,42 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationCode": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { "type": "string" }, - "ApplicationDescription": { + "DomainConfigurationStatus": { "type": "string" }, - "ApplicationName": { + "DomainName": { "type": "string" }, - "Inputs": { + "ServerCertificateArns": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" } }, - "required": [ - "Inputs" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::Application" + "AWS::IoT::DomainConfiguration" ], "type": "string" }, @@ -51383,202 +54679,219 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { - "type": "string" + "AllowAuthorizerOverride": { + "type": "boolean" }, - "RecordRowDelimiter": { + "DefaultAuthorizerName": { "type": "string" } }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application.Input": { + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + "ServerCertificateArn": { + "type": "string" }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + "ServerCertificateStatus": { + "type": "string" }, - "NamePrefix": { + "ServerCertificateStatusDetail": { "type": "string" } }, - "required": [ - "InputSchema", - "NamePrefix" - ], "type": "object" }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "AWS::IoT::MitigationAction": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RoleARN": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ActionParams", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::MitigationAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "AWS::IoT::MitigationAction.ActionParams": { "additionalProperties": false, "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" + }, + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" + }, + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" + }, + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" + }, + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" + }, + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" } }, "type": "object" }, - "AWS::KinesisAnalytics::Application.InputSchema": { + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { "additionalProperties": false, "properties": { - "RecordColumns": { + "OverrideDynamicGroups": { + "type": "boolean" + }, + "ThingGroupNames": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + "type": "string" }, "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "ThingGroupNames" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { "type": "string" } }, "required": [ - "RecordRowPath" + "LogLevel", + "RoleArnForLogging" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TopicArn": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TopicArn" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { "additionalProperties": false, "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { + "TemplateName": { "type": "string" } }, "required": [ - "ResourceARN", - "RoleARN" + "TemplateName" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { + "Action": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::Application.RecordFormat": { + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { + "Action": { "type": "string" } }, "required": [ - "RecordFormatType" + "Action" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput": { + "AWS::IoT::Policy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51610,22 +54923,21 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + "PolicyName": { + "type": "string" } }, "required": [ - "ApplicationName", - "Output" + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" + "AWS::IoT::Policy" ], "type": "string" }, @@ -51644,88 +54956,7 @@ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "AWS::IoT::PolicyPrincipalAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51757,22 +54988,22 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "PolicyName": { "type": "string" }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + "Principal": { + "type": "string" } }, "required": [ - "ApplicationName", - "ReferenceDataSource" + "PolicyName", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + "AWS::IoT::PolicyPrincipalAttachment" ], "type": "string" }, @@ -51791,141 +55022,187 @@ ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::ProvisioningTemplate": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" + "Metadata": { + "type": "object" }, - "Name": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" }, - "SqlType": { + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" }, - "RecordFormatType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "RecordFormatType" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { "additionalProperties": false, "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { + "PayloadVersion": { "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" }, - "RecordEncoding": { + "TargetArn": { "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" } }, - "required": [ - "RecordColumns", - "RecordFormat" - ], "type": "object" }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "AWS::IoT::ScheduledAudit": { "additionalProperties": false, "properties": { - "BucketARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FileKey": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], "type": "string" }, - "ReferenceRoleARN": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application": { + "AWS::IoT::SecurityProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -51957,19 +55234,31 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" }, - "ApplicationDescription": { - "type": "string" + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" }, - "ApplicationName": { - "type": "string" + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" }, - "RuntimeEnvironment": { + "SecurityProfileDescription": { "type": "string" }, - "ServiceExecutionRole": { + "SecurityProfileName": { "type": "string" }, "Tags": { @@ -51977,17 +55266,19 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::Application" + "AWS::IoT::SecurityProfile" ], "type": "string" }, @@ -52001,388 +55292,246 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "AWS::IoT::SecurityProfile.AlertTarget": { "additionalProperties": false, "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + "AlertTargetArn": { + "type": "string" }, - "CodeContentType": { + "RoleArn": { "type": "string" } }, "required": [ - "CodeContent", - "CodeContentType" + "AlertTargetArn", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "AWS::IoT::SecurityProfile.Behavior": { "additionalProperties": false, "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + "Metric": { + "type": "string" }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + "Name": { + "type": "string" }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { + "SuppressAlerts": { "type": "boolean" } }, "required": [ - "SnapshotsEnabled" + "Name" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "AWS::IoT::SecurityProfile.BehaviorCriteria": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "ComparisonOperator": { "type": "string" }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { + "ConsecutiveDatapointsToAlarm": { "type": "number" }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" + "ConsecutiveDatapointsToClear": { + "type": "number" }, - "MinPauseBetweenCheckpoints": { + "DurationSeconds": { "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" }, - "TextContent": { - "type": "string" + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { "additionalProperties": false, "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + "ConfidenceLevel": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.Input": { + "AWS::IoT::SecurityProfile.MetricDimension": { "additionalProperties": false, "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + "DimensionName": { + "type": "string" }, - "NamePrefix": { + "Operator": { "type": "string" } }, "required": [ - "InputSchema", - "NamePrefix" + "DimensionName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Metric": { "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" } }, "required": [ - "ResourceARN" + "Metric" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "AWS::IoT::SecurityProfile.MetricValue": { "additionalProperties": false, "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, "Count": { + "type": "string" + }, + "Number": { "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { + }, + "Numbers": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + "type": "number" }, "type": "array" }, - "RecordEncoding": { - "type": "string" + "Ports": { + "items": { + "type": "number" + }, + "type": "array" }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + "Strings": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "RecordColumns", - "RecordFormat" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "Statistic": { "type": "string" } }, - "required": [ - "RecordRowPath" - ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "AWS::IoT::Thing": { "additionalProperties": false, "properties": { - "ResourceARN": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { + }, + "DependsOn": { + "anyOf": [ + { + "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": [ - "ResourceARN" + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "AWS::IoT::Thing.AttributePayload": { "additionalProperties": false, "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "AWS::IoT::ThingPrincipalAttachment": { "additionalProperties": false, "properties": { - "ConfigurationType": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, "DependsOn": { @@ -52406,22 +55555,22 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Principal": { "type": "string" }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + "ThingName": { + "type": "string" } }, "required": [ - "ApplicationName", - "CloudWatchLoggingOption" + "Principal", + "ThingName" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + "AWS::IoT::ThingPrincipalAttachment" ], "type": "string" }, @@ -52440,19 +55589,7 @@ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "AWS::IoT::TopicRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -52484,22 +55621,21 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "RuleName": { "type": "string" }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } }, "required": [ - "ApplicationName", - "Output" + "TopicRulePayload" ], "type": "object" }, "Type": { "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" + "AWS::IoT::TopicRule" ], "type": "string" }, @@ -52518,1068 +55654,1227 @@ ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "AWS::IoT::TopicRule.Action": { "additionalProperties": false, "properties": { - "RecordFormatType": { - "type": "string" + "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" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" } }, "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "ResourceARN": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { "type": "string" } }, "required": [ - "ResourceARN" + "TimeInSeconds" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "AWS::IoT::TopicRule.AssetPropertyValue": { "additionalProperties": false, "properties": { - "ResourceARN": { + "Quality": { "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" } }, "required": [ - "ResourceARN" + "Timestamp", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "AWS::IoT::TopicRule.AssetPropertyVariant": { "additionalProperties": false, "properties": { - "ResourceARN": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { "type": "string" } }, "required": [ - "ResourceARN" + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + "MetricName": { + "type": "string" }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + "MetricNamespace": { + "type": "string" }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + "MetricTimestamp": { + "type": "string" }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + "MetricUnit": { + "type": "string" }, - "Name": { + "MetricValue": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, "required": [ - "DestinationSchema" + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "AWS::IoT::TopicRule.DynamoDBAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HashKeyField": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "HashKeyType": { + "type": "string" }, - "Metadata": { - "type": "object" + "HashKeyValue": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" + "PayloadField": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], + "RangeKeyField": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "AWS::IoT::TopicRule.DynamoDBv2Action": { "additionalProperties": false, "properties": { - "RecordColumnDelimiter": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { "type": "string" }, - "RecordRowDelimiter": { + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { - "RecordRowPath": { + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { "type": "string" } }, "required": [ - "RecordRowPath" + "DeliveryStreamName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "AWS::IoT::TopicRule.HttpAction": { "additionalProperties": false, "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" } }, + "required": [ + "Url" + ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "AWS::IoT::TopicRule.HttpActionHeader": { "additionalProperties": false, "properties": { - "Mapping": { - "type": "string" - }, - "Name": { + "Key": { "type": "string" }, - "SqlType": { + "Value": { "type": "string" } }, "required": [ - "Name", - "SqlType" + "Key", + "Value" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "AWS::IoT::TopicRule.HttpAuthorization": { "additionalProperties": false, "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" }, - "RecordFormatType": { + "RoleArn": { "type": "string" } }, "required": [ - "RecordFormatType" + "ChannelName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + "InputName": { + "type": "string" }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + "MessageId": { + "type": "string" }, - "TableName": { + "RoleArn": { "type": "string" } }, "required": [ - "ReferenceSchema" + "InputName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "AWS::IoT::TopicRule.IotSiteWiseAction": { "additionalProperties": false, "properties": { - "RecordColumns": { + "PutAssetPropertyValueEntries": { "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" }, "type": "array" }, - "RecordEncoding": { + "RoleArn": { "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" } }, "required": [ - "RecordColumns", - "RecordFormat" + "PutAssetPropertyValueEntries", + "RoleArn" ], "type": "object" }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { - "BucketARN": { + "PartitionKey": { "type": "string" }, - "FileKey": { + "RoleArn": { + "type": "string" + }, + "StreamName": { "type": "string" } }, "required": [ - "BucketARN", - "FileKey" + "RoleArn", + "StreamName" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream": { + "AWS::IoT::TopicRule.LambdaAction": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" + "EntryId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], + "PropertyAlias": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PropertyId": { "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" } }, "required": [ - "Type" + "PropertyValues" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "AWS::IoT::TopicRule.PutItemInput": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" + "TableName": { + "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "AWS::IoT::TopicRule.RepublishAction": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" + "Qos": { + "type": "number" }, - "LogGroupName": { + "RoleArn": { "type": "string" }, - "LogStreamName": { + "Topic": { "type": "string" } }, + "required": [ + "RoleArn", + "Topic" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "AWS::IoT::TopicRule.S3Action": { "additionalProperties": false, "properties": { - "CopyOptions": { + "BucketName": { "type": "string" }, - "DataTableColumns": { + "Key": { "type": "string" }, - "DataTableName": { + "RoleArn": { "type": "string" } }, "required": [ - "DataTableName" + "BucketName", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "AWS::IoT::TopicRule.SigV4Authorization": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + "RoleArn": { + "type": "string" }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + "ServiceName": { + "type": "string" }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + "SigningRegion": { + "type": "string" } }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "AWS::IoT::TopicRule.SnsAction": { "additionalProperties": false, "properties": { - "KeyARN": { + "MessageFormat": { "type": "string" }, - "KeyType": { + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "KeyType" + "RoleArn", + "TargetArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "AWS::IoT::TopicRule.SqsAction": { "additionalProperties": false, "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + "QueueUrl": { + "type": "string" }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" } }, + "required": [ + "QueueUrl", + "RoleArn" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "AWS::IoT::TopicRule.StepFunctionsAction": { "additionalProperties": false, "properties": { - "IntervalInSeconds": { - "type": "number" + "ExecutionNamePrefix": { + "type": "string" }, - "SizeInMBs": { - "type": "number" + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" } }, + "required": [ + "RoleArn", + "StateMachineName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" }, - "IndexRotationPeriod": { + "AwsIotSqlVersion": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { + "Description": { "type": "string" }, - "S3BackupMode": { - "type": "string" + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "RuleDisabled": { + "type": "boolean" }, - "TypeName": { + "Sql": { "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" } }, "required": [ - "IndexName", - "RoleARN", - "S3Configuration" + "Actions", + "RuleDisabled", + "Sql" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "AWS::IoT::TopicRuleDestination": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Prefix": { - "type": "string" + "Metadata": { + "type": "object" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" }, - "RoleARN": { + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], "type": "string" }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { "additionalProperties": false, "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" + "ConfirmationUrl": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { "additionalProperties": false, "properties": { - "AttributeName": { + "RoleArn": { "type": "string" }, - "AttributeValue": { + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { "type": "string" } }, - "required": [ - "AttributeName", - "AttributeValue" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "AWS::IoTAnalytics::Channel": { "additionalProperties": false, "properties": { - "AccessKey": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], "type": "string" }, - "Url": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Url" + "Type" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "AWS::IoTAnalytics::Channel.ChannelStorage": { "additionalProperties": false, "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" } }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { "additionalProperties": false, "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" + "Bucket": { + "type": "string" }, - "ContentEncoding": { + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, + "required": [ + "Bucket", + "RoleArn" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "AWS::IoTAnalytics::Channel.RetentionPeriod": { "additionalProperties": false, "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], + "properties": {}, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "AWS::IoTAnalytics::Dataset": { "additionalProperties": false, "properties": { - "KinesisStreamARN": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "RoleARN": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "KinesisStreamARN", - "RoleARN" + "Type", + "Properties" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "AWS::IoTAnalytics::Dataset.Action": { "additionalProperties": false, "properties": { - "CaseInsensitive": { - "type": "boolean" + "ActionName": { + "type": "string" }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" } }, + "required": [ + "ActionName" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "AWS::IoTAnalytics::Dataset.ContainerAction": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" + "ExecutionRoleArn": { + "type": "string" }, - "Compression": { + "Image": { "type": "string" }, - "DictionaryKeyThreshold": { - "type": "number" + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" }, - "EnablePadding": { - "type": "boolean" + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" }, - "FormatVersion": { + "EntryName": { "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { + "additionalProperties": false, + "properties": { + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "number" - }, - "StripeSizeBytes": { - "type": "number" + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { "additionalProperties": false, "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + "DatasetName": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "AWS::IoTAnalytics::Dataset.DeltaTime": { "additionalProperties": false, "properties": { - "BlockSizeBytes": { + "OffsetSeconds": { "type": "number" }, - "Compression": { + "TimeExpression": { "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "number" - }, - "PageSizeBytes": { + } + }, + "required": [ + "OffsetSeconds", + "TimeExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { + "additionalProperties": false, + "properties": { + "TimeoutInMinutes": { "type": "number" - }, - "WriterVersion": { - "type": "string" } }, + "required": [ + "TimeoutInMinutes" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "AWS::IoTAnalytics::Dataset.Filter": { "additionalProperties": false, "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "Type": { + "TableName": { "type": "string" } }, "required": [ - "Type" + "DatabaseName", + "TableName" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { "additionalProperties": false, "properties": { - "ParameterName": { + "InputName": { "type": "string" }, - "ParameterValue": { + "RoleArn": { "type": "string" } }, "required": [ - "ParameterName", - "ParameterValue" + "InputName", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.LateDataRule": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { + "RuleName": { "type": "string" } }, "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" + "RuleConfiguration" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "FileName": { + "type": "string" } }, "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.QueryAction": { "additionalProperties": false, "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" }, - "RoleARN": { + "SqlQuery": { "type": "string" } }, "required": [ - "BucketARN", - "RoleARN" + "SqlQuery" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { "additionalProperties": false, "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { + "ComputeType": { "type": "string" }, - "VersionId": { - "type": "string" + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { "additionalProperties": false, "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + "NumberOfDays": { + "type": "number" }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + "Unlimited": { + "type": "boolean" } }, + "required": [ + "NumberOfDays", + "Unlimited" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { "additionalProperties": false, "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { + "Bucket": { "type": "string" }, - "HECEndpointType": { - "type": "string" + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" }, - "HECToken": { + "Key": { "type": "string" }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { + "RoleArn": { "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" } }, "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "AWS::IoTAnalytics::Dataset.Schedule": { "additionalProperties": false, "properties": { - "DurationInSeconds": { - "type": "number" + "ScheduleExpression": { + "type": "string" } }, + "required": [ + "ScheduleExpression" + ], "type": "object" }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "AWS::IoTAnalytics::Dataset.Trigger": { "additionalProperties": false, "properties": { - "RoleARN": { + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" + }, + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { "type": "string" + } + }, + "required": [ + "DatasetName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Variable": { + "additionalProperties": false, + "properties": { + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DoubleValue": { + "type": "number" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + }, + "StringValue": { + "type": "string" + }, + "VariableName": { + "type": "string" } }, "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" + "VariableName" ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings": { + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -53611,12 +56906,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + "DatastoreName": { + "type": "string" }, - "TrustedResourceOwners": { + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + }, + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -53625,7 +56929,7 @@ }, "Type": { "enum": [ - "AWS::LakeFormation::DataLakeSettings" + "AWS::IoTAnalytics::Datastore" ], "type": "string" }, @@ -53643,27 +56947,115 @@ ], "type": "object" }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "AWS::IoTAnalytics::Datastore.Column": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { + "Name": { + "type": "string" + }, + "Type": { "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::LakeFormation::Permissions": { + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { + "additionalProperties": false, + "properties": { + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" + }, + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { + "additionalProperties": false, + "properties": { + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", "Snapshot" ], "type": "string" @@ -53689,34 +57081,30 @@ "Properties": { "additionalProperties": false, "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" - }, - "Permissions": { + "PipelineActivities": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" }, "type": "array" }, - "PermissionsWithGrantOption": { + "PipelineName": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" } }, "required": [ - "DataLakePrincipal", - "Resource" + "PipelineActivities" ], "type": "object" }, "Type": { "enum": [ - "AWS::LakeFormation::Permissions" + "AWS::IoTAnalytics::Pipeline" ], "type": "string" }, @@ -53735,43 +57123,76 @@ ], "type": "object" }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { + "AWS::IoTAnalytics::Pipeline.Activity": { "additionalProperties": false, "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + }, + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + }, + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" + }, + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "AWS::IoTAnalytics::Pipeline.AddAttributes": { "additionalProperties": false, "properties": { - "DataLakePrincipalIdentifier": { + "Attributes": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DataLocationResource": { + "AWS::IoTAnalytics::Pipeline.Channel": { "additionalProperties": false, "properties": { - "CatalogId": { + "ChannelName": { "type": "string" }, - "S3Resource": { + "Name": { + "type": "string" + }, + "Next": { "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.DatabaseResource": { + "AWS::IoTAnalytics::Pipeline.Datastore": { "additionalProperties": false, "properties": { - "CatalogId": { + "DatastoreName": { "type": "string" }, "Name": { @@ -53780,263 +57201,136 @@ }, "type": "object" }, - "AWS::LakeFormation::Permissions.Resource": { + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { "additionalProperties": false, "properties": { - "DataLocationResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + "Attribute": { + "type": "string" }, - "DatabaseResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" + "Name": { + "type": "string" }, - "TableResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + "Next": { + "type": "string" }, - "TableWithColumnsResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableResource": { + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { "additionalProperties": false, "properties": { - "CatalogId": { + "Attribute": { "type": "string" }, - "DatabaseName": { + "Name": { "type": "string" }, - "Name": { + "Next": { "type": "string" }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "AWS::IoTAnalytics::Pipeline.Filter": { "additionalProperties": false, "properties": { - "CatalogId": { + "Filter": { "type": "string" }, - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { + "Name": { "type": "string" }, - "Name": { + "Next": { "type": "string" } }, "type": "object" }, - "AWS::LakeFormation::Resource": { + "AWS::IoTAnalytics::Pipeline.Lambda": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "BatchSize": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseServiceLinkedRole": { - "type": "boolean" - } - }, - "required": [ - "ResourceArn", - "UseServiceLinkedRole" - ], - "type": "object" + "LambdaName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::LakeFormation::Resource" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Alias": { + "AWS::IoTAnalytics::Pipeline.Math": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "type": "object" + "Math": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Next": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { "additionalProperties": false, "properties": { - "AdditionalVersionWeights": { + "Attributes": { "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + "type": "string" }, "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" } }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], "type": "object" }, - "AWS::Lambda::Alias.VersionWeight": { + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { "additionalProperties": false, "properties": { - "FunctionVersion": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" }, - "FunctionWeight": { - "type": "number" + "Next": { + "type": "string" } }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig": { + "AWS::IoTEvents::DetectorModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54068,31 +57362,36 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" }, - "FunctionName": { + "DetectorModelDescription": { "type": "string" }, - "MaximumEventAgeInSeconds": { - "type": "number" + "DetectorModelName": { + "type": "string" }, - "MaximumRetryAttempts": { - "type": "number" + "EvaluationMethod": { + "type": "string" }, - "Qualifier": { + "Key": { + "type": "string" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "FunctionName", - "Qualifier" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::EventInvokeConfig" + "AWS::IoTEvents::DetectorModel" ], "type": "string" }, @@ -54106,400 +57405,419 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "AWS::IoTEvents::DetectorModel.Action": { "additionalProperties": false, "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + "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" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" } }, "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { "additionalProperties": false, "properties": { - "Destination": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { "type": "string" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { "additionalProperties": false, "properties": { - "Destination": { + "Quality": { "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" } }, - "required": [ - "Destination" - ], "type": "object" }, - "AWS::Lambda::EventSourceMapping": { + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BooleanValue": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DoubleValue": { + "type": "string" }, - "Metadata": { - "type": "object" + "IntegerValue": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "EventSourceArn": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" - }, - "StartingPosition": { - "type": "string" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ClearTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { + "type": "string" + }, + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" }, - "required": [ - "EventSourceArn", - "FunctionName" - ], - "type": "object" + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::EventSourceMapping" - ], + "HashKeyType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { "additionalProperties": false, "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::EventSourceMapping.OnFailure": { + "AWS::IoTEvents::DetectorModel.Event": { "additionalProperties": false, "properties": { - "Destination": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "AWS::IoTEvents::DetectorModel.Firehose": { "additionalProperties": false, "properties": { - "Type": { + "DeliveryStreamName": { "type": "string" }, - "URI": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function": { + "AWS::IoTEvents::DetectorModel.IotEvents": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "InputName": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Handler", - "Role", - "Runtime" - ], - "type": "object" + "EntryId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], + "PropertyAlias": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PropertyId": { "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Lambda::Function.Code": { + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { "additionalProperties": false, "properties": { - "S3Bucket": { + "MqttTopic": { "type": "string" }, - "S3Key": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { "type": "string" }, - "S3ObjectVersion": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + }, + "TransitionEvents": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { "type": "string" }, - "ZipFile": { + "Type": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.DeadLetterConfig": { + "AWS::IoTEvents::DetectorModel.ResetTimer": { "additionalProperties": false, "properties": { - "TargetArn": { + "TimerName": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.Environment": { + "AWS::IoTEvents::DetectorModel.SetTimer": { "additionalProperties": false, "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.FileSystemConfig": { + "AWS::IoTEvents::DetectorModel.SetVariable": { "additionalProperties": false, "properties": { - "Arn": { + "Value": { "type": "string" }, - "LocalMountPath": { + "VariableName": { "type": "string" } }, - "required": [ - "Arn", - "LocalMountPath" - ], "type": "object" }, - "AWS::Lambda::Function.TracingConfig": { + "AWS::IoTEvents::DetectorModel.Sns": { "additionalProperties": false, "properties": { - "Mode": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { "type": "string" } }, "type": "object" }, - "AWS::Lambda::Function.VpcConfig": { + "AWS::IoTEvents::DetectorModel.Sqs": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" }, - "SubnetIds": { + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" }, "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" } }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], "type": "object" }, - "AWS::Lambda::LayerVersion": { + "AWS::IoTEvents::Input": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54531,33 +57849,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" }, - "Description": { + "InputDescription": { "type": "string" }, - "LayerName": { + "InputName": { "type": "string" }, - "LicenseInfo": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "Content" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersion" + "AWS::IoTEvents::Input" ], "type": "string" }, @@ -54571,31 +57883,32 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Lambda::LayerVersion.Content": { + "AWS::IoTEvents::Input.Attribute": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { + "JsonPath": { "type": "string" } }, - "required": [ - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::Lambda::LayerVersionPermission": { + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54627,29 +57940,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" }, - "OrganizationId": { + "AccessPolicyPermission": { "type": "string" }, - "Principal": { - "type": "string" + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" } }, "required": [ - "Action", - "LayerVersionArn", - "Principal" + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::LayerVersionPermission" + "AWS::IoTSiteWise::AccessPolicy" ], "type": "string" }, @@ -54668,7 +57978,79 @@ ], "type": "object" }, - "AWS::Lambda::Permission": { + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54700,35 +58082,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" }, - "FunctionName": { + "AssetModelId": { "type": "string" }, - "Principal": { + "AssetName": { "type": "string" }, - "SourceAccount": { - "type": "string" + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" }, - "SourceArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Action", - "FunctionName", - "Principal" + "AssetModelId", + "AssetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Permission" + "AWS::IoTSiteWise::Asset" ], "type": "string" }, @@ -54747,7 +58134,41 @@ ], "type": "object" }, - "AWS::Lambda::Version": { + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54779,27 +58200,45 @@ "Properties": { "additionalProperties": false, "properties": { - "CodeSha256": { - "type": "string" + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" }, - "Description": { + "AssetModelDescription": { "type": "string" }, - "FunctionName": { + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { "type": "string" }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "FunctionName" + "AssetModelName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::Version" + "AWS::IoTSiteWise::AssetModel" ], "type": "string" }, @@ -54818,19 +58257,206 @@ ], "type": "object" }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "ProvisionedConcurrentExecutions" + "Name", + "Type" ], "type": "object" }, - "AWS::Logs::Destination": { + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54862,30 +58488,35 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationName": { + "DashboardDefinition": { "type": "string" }, - "DestinationPolicy": { + "DashboardDescription": { "type": "string" }, - "RoleArn": { + "DashboardName": { "type": "string" }, - "TargetArn": { + "ProjectId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" + "DashboardDefinition", + "DashboardDescription", + "DashboardName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::IoTSiteWise::Dashboard" ], "type": "string" }, @@ -54904,7 +58535,7 @@ ], "type": "object" }, - "AWS::Logs::LogGroup": { + "AWS::IoTSiteWise::Gateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -54936,21 +58567,34 @@ "Properties": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" }, - "LogGroupName": { + "GatewayName": { "type": "string" }, - "RetentionInDays": { - "type": "number" + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogGroup" + "AWS::IoTSiteWise::Gateway" ], "type": "string" }, @@ -54964,11 +58608,51 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Logs::LogStream": { + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55000,21 +58684,38 @@ "Properties": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PortalAuthMode": { "type": "string" }, - "LogStreamName": { + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "LogGroupName" + "PortalContactEmail", + "PortalName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::LogStream" + "AWS::IoTSiteWise::Portal" ], "type": "string" }, @@ -55033,7 +58734,7 @@ ], "type": "object" }, - "AWS::Logs::MetricFilter": { + "AWS::IoTSiteWise::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55065,29 +58766,31 @@ "Properties": { "additionalProperties": false, "properties": { - "FilterPattern": { + "PortalId": { "type": "string" }, - "LogGroupName": { + "ProjectDescription": { "type": "string" }, - "MetricTransformations": { + "ProjectName": { + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" + "PortalId", + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::MetricFilter" + "AWS::IoTSiteWise::Project" ], "type": "string" }, @@ -55106,30 +58809,88 @@ ], "type": "object" }, - "AWS::Logs::MetricFilter.MetricTransformation": { + "AWS::IoTThingsGraph::FlowTemplate": { "additionalProperties": false, "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MetricNamespace": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], "type": "string" }, - "MetricValue": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" + "Type", + "Properties" ], "type": "object" }, - "AWS::Logs::SubscriptionFilter": { + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55161,29 +58922,39 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Description": { "type": "string" }, - "FilterPattern": { + "Expression": { "type": "string" }, - "LogGroupName": { + "ExpressionType": { + "type": "string" + }, + "Name": { "type": "string" }, "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "Expression", + "ExpressionType", + "Name", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::IoTWireless::Destination" ], "type": "string" }, @@ -55202,7 +58973,7 @@ ], "type": "object" }, - "AWS::MSK::Cluster": { + "AWS::IoTWireless::DeviceProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55234,51 +59005,24 @@ "Properties": { "additionalProperties": false, "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { - "type": "string" - }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" }, - "EnhancedMonitoring": { - "type": "string" - }, - "KafkaVersion": { + "Name": { "type": "string" }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" - }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" - }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" - ], "type": "object" }, "Type": { "enum": [ - "AWS::MSK::Cluster" + "AWS::IoTWireless::DeviceProfile" ], "type": "string" }, @@ -55292,284 +59036,59 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::MSK::Cluster.BrokerLogs": { + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { "additionalProperties": false, "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + "ClassBTimeout": { + "type": "number" }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + "ClassCTimeout": { + "type": "number" }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { + "MacVersion": { "type": "string" }, - "ClientSubnets": { - "items": { - "type": "string" - }, - "type": "array" + "MaxDutyCycle": { + "type": "number" }, - "InstanceType": { - "type": "string" + "MaxEirp": { + "type": "number" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" + "PingSlotDr": { + "type": "number" }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" - } - }, - "required": [ - "ClientSubnets", - "InstanceType" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ClientAuthentication": { - "additionalProperties": false, - "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + "PingSlotFreq": { + "type": "number" }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" + "PingSlotPeriod": { + "type": "number" }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { + "RegParamsRevision": { "type": "string" }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { + "RfRegion": { "type": "string" }, - "InCluster": { + "Supports32BitFCnt": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" - }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "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": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "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": { - "EnabledInBroker": { + "SupportsClassB": { "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { + "SupportsClassC": { "type": "boolean" }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "required": [ - "Scram" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { + "SupportsJoin": { "type": "boolean" } }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, "type": "object" }, - "AWS::Macie::CustomDataIdentifier": { + "AWS::IoTWireless::ServiceProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55601,40 +59120,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Keywords": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" } }, - "required": [ - "Name", - "Regex" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::CustomDataIdentifier" + "AWS::IoTWireless::ServiceProfile" ], "type": "string" }, @@ -55648,12 +59151,74 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Macie::FindingsFilter": { + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -55685,31 +59250,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "Description": { "type": "string" }, - "Description": { + "DestinationName": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "Position": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ - "FindingCriteria", - "Name" + "DestinationName", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::IoTWireless::WirelessDevice" ], "type": "string" }, @@ -55728,283 +59305,142 @@ ], "type": "object" }, - "AWS::Macie::FindingsFilter.Criterion": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, - "properties": {}, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingCriteria": { + "AWS::IoTWireless::WirelessDevice.AbpV11": { "additionalProperties": false, "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" } }, + "required": [ + "DevAddr", + "SessionKeys" + ], "type": "object" }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "Id": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { "type": "string" }, - "Name": { + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { "type": "string" } }, "type": "object" }, - "AWS::Macie::Session": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], + "AppEui": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AppKey": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AppEui", + "AppKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "AWS::IoTWireless::WirelessDevice.OtaaV11": { "additionalProperties": false, "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { + "AppKey": { "type": "string" }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { + "JoinEui": { "type": "string" }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { + "NwkKey": { "type": "string" } }, "required": [ - "Name" + "AppKey", + "JoinEui", + "NwkKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { - "AdminPassword": { + "AppSKey": { "type": "string" }, - "AdminUsername": { + "NwkSKey": { "type": "string" } }, "required": [ - "AdminPassword", - "AdminUsername" + "AppSKey", + "NwkSKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { "additionalProperties": false, "properties": { - "Description": { + "AppSKey": { "type": "string" }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { + "FNwkSIntKey": { "type": "string" }, - "Name": { + "NwkSEncKey": { "type": "string" }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { + "SNwkSIntKey": { "type": "string" } }, "required": [ - "Edition" + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" ], "type": "object" }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { + "AWS::IoTWireless::WirelessGateway": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56036,26 +59472,36 @@ "Properties": { "additionalProperties": false, "properties": { - "MemberId": { + "Description": { "type": "string" }, - "NetworkId": { + "LastUplinkReceivedAt": { "type": "string" }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" } }, "required": [ - "MemberId", - "NetworkId", - "NodeConfiguration" + "LoRaWAN" ], "type": "object" }, "Type": { "enum": [ - "AWS::ManagedBlockchain::Node" + "AWS::IoTWireless::WirelessGateway" ], "type": "string" }, @@ -56074,23 +59520,23 @@ ], "type": "object" }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { "additionalProperties": false, "properties": { - "AvailabilityZone": { + "GatewayEui": { "type": "string" }, - "InstanceType": { + "RfRegion": { "type": "string" } }, "required": [ - "AvailabilityZone", - "InstanceType" + "GatewayEui", + "RfRegion" ], "type": "object" }, - "AWS::MediaConvert::JobTemplate": { + "AWS::KMS::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56122,48 +59568,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { + "AliasName": { "type": "string" }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { + "TargetKeyId": { "type": "string" - }, - "Tags": { - "type": "object" } }, "required": [ - "SettingsJson" + "AliasName", + "TargetKeyId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::JobTemplate" + "AWS::KMS::Alias" ], "type": "string" }, @@ -56182,34 +59602,7 @@ ], "type": "object" }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "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": { + "AWS::KMS::Key": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56241,30 +59634,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Category": { + "Description": { "type": "string" }, - "Description": { + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { "type": "string" }, - "Name": { + "KeyUsage": { "type": "string" }, - "SettingsJson": { - "type": "object" + "PendingWindowInDays": { + "type": "number" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SettingsJson" + "KeyPolicy" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Preset" + "AWS::KMS::Key" ], "type": "string" }, @@ -56283,7 +59688,7 @@ ], "type": "object" }, - "AWS::MediaConvert::Queue": { + "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -56315,27 +59720,44 @@ "Properties": { "additionalProperties": false, "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, "Description": { "type": "string" }, + "IndexId": { + "type": "string" + }, "Name": { "type": "string" }, - "PricingPlan": { + "RoleArn": { "type": "string" }, - "Status": { + "Schedule": { "type": "string" }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" } }, + "required": [ + "IndexId", + "Name", + "Type" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConvert::Queue" + "AWS::Kendra::DataSource" ], "type": "string" }, @@ -56349,2567 +59771,17388 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Channel": { + "AWS::Kendra::DataSource.AccessControlListConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], + "KeyPath": { "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { "type": "string" } }, "required": [ - "Type" + "AllowedGroupsColumnName" ], "type": "object" }, - "AWS::MediaLive::Channel.AacSettings": { + "AWS::Kendra::DataSource.ChangeDetectingColumns": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Ac3Settings": { + "AWS::Kendra::DataSource.ColumnConfiguration": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" + "ChangeDetectingColumns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ChangeDetectingColumns" }, - "CodingMode": { + "DocumentDataColumnName": { "type": "string" }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { + "DocumentIdColumnName": { "type": "string" }, - "LfeFilter": { + "DocumentTitleColumnName": { "type": "string" }, - "MetadataControl": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], "type": "object" }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { "additionalProperties": false, "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + "AttachmentFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList" + }, + "CrawlAttachments": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentFieldMappingsList": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" + "ConfluenceAttachmentFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { "additionalProperties": false, "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" - }, - "Extension": { + "DataSourceFieldName": { "type": "string" }, - "NameModifier": { + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { "additionalProperties": false, - "properties": {}, + "properties": { + "BlogFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.AudioChannelMapping": { + "AWS::Kendra::DataSource.ConfluenceBlogFieldMappingsList": { "additionalProperties": false, "properties": { - "InputChannelLevels": { + "ConfluenceBlogFieldMappingsList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" }, "type": "array" - }, - "OutputChannel": { - "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioCodecSettings": { + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { "additionalProperties": false, "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + "DataSourceFieldName": { + "type": "string" }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + "DateFieldFormat": { + "type": "string" }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioDescription": { + "AWS::Kendra::DataSource.ConfluenceConfiguration": { "additionalProperties": false, "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" }, - "AudioType": { - "type": "string" + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" }, - "AudioTypeControl": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "LanguageCode": { - "type": "string" + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" }, - "LanguageCodeControl": { + "SecretArn": { "type": "string" }, - "Name": { + "ServerUrl": { "type": "string" }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" }, - "StreamName": { + "Version": { "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" + "PageFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "AWS::Kendra::DataSource.ConfluencePageFieldMappingsList": { "additionalProperties": false, "properties": { - "Algorithm": { + "ConfluencePageFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { "type": "string" }, - "AlgorithmControl": { + "DateFieldFormat": { "type": "string" }, - "TargetLkfs": { - "type": "number" + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { "additionalProperties": false, "properties": { - "AudioGroupId": { - "type": "string" + "CrawlArchivedSpaces": { + "type": "boolean" }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "CrawlPersonalSpaces": { + "type": "boolean" }, - "AudioTrackType": { - "type": "string" + "ExcludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" }, - "SegmentType": { - "type": "string" + "IncludeSpaces": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceList" + }, + "SpaceFieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioPidSelection": { + "AWS::Kendra::DataSource.ConfluenceSpaceFieldMappingsList": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "ConfluenceSpaceFieldMappingsList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioSelector": { + "AWS::Kendra::DataSource.ConfluenceSpaceList": { "additionalProperties": false, "properties": { - "Name": { + "ConfluenceSpaceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { "type": "string" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { + "AWS::Kendra::DataSource.ConnectionConfiguration": { "additionalProperties": false, "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + "DatabaseHost": { + "type": "string" }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + "DatabaseName": { + "type": "string" }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { + "type": "string" } }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AudioTrack": { + "AWS::Kendra::DataSource.DataSourceConfiguration": { "additionalProperties": false, "properties": { - "Track": { - "type": "number" + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.AudioTrackSelection": { + "AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": { "additionalProperties": false, "properties": { - "Tracks": { + "DataSourceInclusionsExclusionsStrings": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { "additionalProperties": false, "properties": { - "InputPreference": { + "DataSourceFieldName": { "type": "string" }, - "SecondaryInputId": { + "DateFieldFormat": { "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailBlanking": { - "additionalProperties": false, - "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, - "State": { + "IndexFieldName": { "type": "string" } }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.AvailConfiguration": { + "AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": { "additionalProperties": false, "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + "DataSourceToIndexFieldMappingList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.AvailSettings": { + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { "additionalProperties": false, "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], "type": "object" }, - "AWS::MediaLive::Channel.BlackoutSlate": { + "AWS::Kendra::DataSource.DatabaseConfiguration": { "additionalProperties": false, "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" }, - "NetworkEndBlackout": { - "type": "string" + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" }, - "NetworkId": { + "DatabaseEngineType": { "type": "string" }, - "State": { - "type": "string" + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], "type": "object" }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { + "S3Prefix": { "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionDescription": { + "AWS::Kendra::DataSource.ExcludeMimeTypesList": { "additionalProperties": false, "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - }, - "Name": { - "type": "string" + "ExcludeMimeTypesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "AWS::Kendra::DataSource.ExcludeSharedDrivesList": { "additionalProperties": false, "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" - }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" - }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" - }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" - }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + "ExcludeSharedDrivesList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "AWS::Kendra::DataSource.ExcludeUserAccountsList": { "additionalProperties": false, "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" + "ExcludeUserAccountsList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelector": { + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { "additionalProperties": false, "properties": { - "LanguageCode": { - "type": "string" + "ExcludeMimeTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeMimeTypesList" }, - "Name": { - "type": "string" + "ExcludeSharedDrives": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeSharedDrivesList" }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + "ExcludeUserAccounts": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ExcludeUserAccountsList" + }, + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { + "type": "string" } }, + "required": [ + "SecretArn" + ], "type": "object" }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "AWS::Kendra::DataSource.OneDriveConfiguration": { "additionalProperties": false, "properties": { - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + "DisableLocalGroups": { + "type": "boolean" }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + "SecretArn": { + "type": "string" + }, + "TenantDomain": { + "type": "string" } }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { + "AWS::Kendra::DataSource.OneDriveUserList": { "additionalProperties": false, "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSdtSettings": { + "AWS::Kendra::DataSource.OneDriveUsers": { "additionalProperties": false, "properties": { - "OutputSdt": { - "type": "string" - }, - "RepInterval": { - "type": "number" - }, - "ServiceName": { - "type": "string" + "OneDriveUserList": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUserList" }, - "ServiceProviderName": { - "type": "string" + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" } }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { "additionalProperties": false, "properties": { - "Alignment": { - "type": "string" + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" }, - "BackgroundColor": { + "BucketName": { "type": "string" }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" }, - "OutlineColor": { - "type": "string" + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "OutlineSize": { - "type": "number" + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "ShadowColor": { + "InclusionPrefixes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { + "Key": { "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" } }, + "required": [ + "Bucket", + "Key" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "IncludeFilterTypes": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.DvbTdtSettings": { + "AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": { "additionalProperties": false, "properties": { - "RepInterval": { - "type": "number" + "SalesforceChatterFeedIncludeFilterTypes": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Eac3Settings": { + "AWS::Kendra::DataSource.SalesforceConfiguration": { "additionalProperties": false, "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" }, - "LtRtCenterMixLevel": { - "type": "number" + "CrawlAttachments": { + "type": "boolean" }, - "LtRtSurroundMixLevel": { - "type": "number" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "MetadataControl": { - "type": "string" + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "PassthroughControl": { - "type": "string" + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" }, - "PhaseControl": { + "SecretArn": { "type": "string" }, - "StereoDownmix": { + "ServerUrl": { "type": "string" }, - "SurroundExMode": { - "type": "string" + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" }, - "SurroundMode": { - "type": "string" + "StandardObjectConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList" } }, + "required": [ + "SecretArn", + "ServerUrl" + ], "type": "object" }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "FillLineGap": { + "DocumentDataFieldName": { "type": "string" }, - "FontFamily": { + "DocumentTitleFieldName": { "type": "string" }, - "StyleControl": { + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": { "additionalProperties": false, - "properties": {}, + "properties": { + "SalesforceCustomKnowledgeArticleTypeConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "Convert608To708": { - "type": "string" - }, - "Scte20Detection": { - "type": "string" + "CustomKnowledgeArticleTypeConfigurations": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList" }, - "Source608ChannelNumber": { - "type": "number" + "IncludedStates": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList" }, - "Source608TrackNumber": { - "type": "number" + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" } }, + "required": [ + "IncludedStates" + ], "type": "object" }, - "AWS::MediaLive::Channel.EncoderSettings": { + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": { "additionalProperties": false, "properties": { - "AudioDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" - }, - "type": "array" - }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" - }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" - }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" - }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" - }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" - }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" - }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" - }, - "VideoDescriptions": { + "SalesforceKnowledgeArticleStateList": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.FeatureActivations": { + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { "additionalProperties": false, "properties": { - "InputPrepareScheduleActions": { + "DocumentDataFieldName": { "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.FecOutputSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { "additionalProperties": false, "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { + "DocumentTitleFieldName": { "type": "string" }, - "RowLength": { - "type": "number" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" } }, "type": "object" }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { "additionalProperties": false, "properties": { - "AudioRenditionSets": { + "DocumentDataFieldName": { "type": "string" }, - "NielsenId3Behavior": { + "DocumentTitleFieldName": { "type": "string" }, - "TimedMetadataBehavior": { + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "Name": { "type": "string" } }, + "required": [ + "DocumentDataFieldName", + "Name" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "AWS::Kendra::DataSource.SalesforceStandardObjectConfigurationList": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "SalesforceStandardObjectConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "AWS::Kendra::DataSource.ServiceNowConfiguration": { "additionalProperties": false, "properties": { - "NameModifier": { + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { "type": "string" } }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { "additionalProperties": false, "properties": { - "CaptureInterval": { - "type": "number" + "CrawlAttachments": { + "type": "boolean" }, - "CaptureIntervalUnits": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.GlobalConfiguration": { + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { "additionalProperties": false, "properties": { - "InitialAudioGain": { - "type": "number" + "CrawlAttachments": { + "type": "boolean" }, - "InputEndAction": { + "DocumentDataFieldName": { "type": "string" }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { + "DocumentTitleFieldName": { "type": "string" }, - "OutputTimingSource": { - "type": "string" + "ExcludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" }, - "SupportLowFramerateInputs": { - "type": "string" + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "IncludeAttachmentFilePatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" } }, + "required": [ + "DocumentDataFieldName" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "AWS::Kendra::DataSource.SharePointConfiguration": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + "CrawlAttachments": { + "type": "boolean" }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + "DisableLocalGroups": { + "type": "boolean" }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "DocumentTitleFieldName": { + "type": "string" + }, + "ExclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "FieldMappings": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList" + }, + "InclusionPatterns": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { + "type": "string" + }, + "SharePointVersion": { + "type": "string" + }, + "Urls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UseChangeLog": { + "type": "boolean" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" } }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], "type": "object" }, - "AWS::MediaLive::Channel.H264FilterSettings": { + "AWS::Kendra::DataSource.SqlConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "QueryIdentifiersEnclosingOption": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.H264Settings": { + "AWS::Kendra::Faq": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Bitrate": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BufFillPct": { - "type": "number" + "Metadata": { + "type": "object" }, - "BufSize": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" }, - "ColorMetadata": { + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], "type": "string" }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" - }, - "EntropyEncoding": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "ForceFieldPictures": { - "type": "string" - }, - "FramerateControl": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopBReference": { - "type": "string" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { + "Key": { "type": "string" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::Index": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "QualityLevel": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "QvbrQualityLevel": { - "type": "number" + "Metadata": { + "type": "object" }, - "RateControlMode": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" }, - "ScanType": { + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], "type": "string" }, - "SceneChangeDetect": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Slices": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Index.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "QueryCapacityUnits": { "type": "number" }, - "Softness": { + "StorageCapacityUnits": { "type": "number" - }, - "SpatialAq": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "Syntax": { - "type": "string" - }, - "TemporalAq": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" } }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "AWS::Kendra::Index.DocumentMetadataConfiguration": { "additionalProperties": false, "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + "Name": { + "type": "string" }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + "Type": { + "type": "string" } }, + "required": [ + "Name", + "Type" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265FilterSettings": { + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { "additionalProperties": false, "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + "GroupAttributeField": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" } }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], "type": "object" }, - "AWS::MediaLive::Channel.H265Settings": { + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { "additionalProperties": false, "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { + "ClaimRegex": { "type": "string" }, - "FlickerAq": { + "GroupAttributeField": { "type": "string" }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { + "Issuer": { "type": "string" }, - "Level": { + "KeyLocation": { "type": "string" }, - "LookAheadRateControl": { + "SecretManagerArn": { "type": "string" }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { + "URL": { "type": "string" }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { + "UserNameAttributeField": { "type": "string" - }, - "ScanType": { + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { "type": "string" }, - "SceneChangeDetect": { - "type": "string" + "Freshness": { + "type": "boolean" }, - "Slices": { + "Importance": { "type": "number" }, - "Tier": { + "RankOrder": { "type": "string" }, - "TimecodeInsertion": { - "type": "string" + "ValueImportanceItems": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItems" } }, "type": "object" }, - "AWS::MediaLive::Channel.Hdr10Settings": { + "AWS::Kendra::Index.Search": { "additionalProperties": false, "properties": { - "MaxCll": { - "type": "number" + "Displayable": { + "type": "boolean" }, - "MaxFall": { - "type": "number" + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { + "KmsKeyId": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "AWS::Kendra::Index.UserTokenConfiguration": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsCdnSettings": { + "AWS::Kendra::Index.ValueImportanceItem": { "additionalProperties": false, "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + "Key": { + "type": "string" }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.HlsGroupSettings": { + "AWS::Kendra::Index.ValueImportanceItems": { "additionalProperties": false, "properties": { - "AdMarkers": { + "ValueImportanceItems": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" }, "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "BaseUrlManifest": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "BaseUrlManifest1": { - "type": "string" + "Metadata": { + "type": "object" }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" + "required": [ + "ShardCount" + ], + "type": "object" }, - "ClientCache": { + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], "type": "string" }, - "CodecSpecification": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ConstantIv": { + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { "type": "string" }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { + "KeyId": { "type": "string" - }, - "EncryptionType": { + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IFrameOnlyPlaylists": { - "type": "string" + "Metadata": { + "type": "object" }, - "IndexNSegments": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" }, - "InputLossAction": { + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], "type": "string" }, - "IvInManifest": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IvSource": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], "type": "string" }, - "KeepSegments": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" }, - "KeyFormat": { + "RecordRowDelimiter": { "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" }, - "KeyFormatVersions": { + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" }, - "ManifestCompression": { + "RecordEncoding": { "type": "string" }, - "ManifestDurationFormat": { + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "MinSegmentLength": { - "type": "number" + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" }, - "Mode": { + "RoleARN": { "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" }, - "OutputSelection": { + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { "type": "string" }, - "ProgramDateTime": { + "Name": { "type": "string" }, - "ProgramDateTimePeriod": { - "type": "number" + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" }, - "RedundantManifest": { + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SegmentLength": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SegmentationMode": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], "type": "string" }, - "SegmentsPerSubdirectory": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" }, - "StreamInfResolution": { + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "TimedMetadataId3Frame": { + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { "type": "string" }, - "TimedMetadataId3Period": { - "type": "number" + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" }, - "TimestampDeltaMilliseconds": { - "type": "number" + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" }, - "TsFileMode": { + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + }, + "Name": { "type": "string" } }, + "required": [ + "DestinationSchema" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsInputSettings": { + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { "additionalProperties": false, "properties": { - "Bandwidth": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "BufferSegments": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + }, + "CodeContentType": { + "type": "string" + } + }, + "required": [ + "CodeContent", + "CodeContentType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { + "additionalProperties": false, + "properties": { + "SnapshotsEnabled": { + "type": "boolean" + } + }, + "required": [ + "SnapshotsEnabled" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointInterval": { + "type": "number" + }, + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CodeContent": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { + "type": "string" + }, + "ZipFileContent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { + "additionalProperties": false, + "properties": { + "PropertyGroups": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" + }, + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "MetricsLevel": { + "type": "string" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "Parallelism": { + "type": "number" + }, + "ParallelismPerKPU": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "additionalProperties": false, + "properties": { + "PropertyGroupId": { + "type": "string" + }, + "PropertyMap": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "LogStreamARN": { + "type": "string" + } + }, + "required": [ + "LogStreamARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, + "DeliveryStreamName": { + "type": "string" + }, + "DeliveryStreamType": { + "type": "string" + }, + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" + }, + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" + }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" + }, + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisFirehose::DeliveryStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "additionalProperties": false, + "properties": { + "CopyOptions": { + "type": "string" + }, + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" + } + }, + "required": [ + "DataTableName" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + }, + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + }, + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "additionalProperties": false, + "properties": { + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + }, + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "type": "string" + }, + "DomainARN": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "IndexRotationPeriod": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "TypeName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" + } + }, + "required": [ + "IndexName", + "RoleARN", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "additionalProperties": false, + "properties": { + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "additionalProperties": false, + "properties": { + "AWSKMSKeyARN": { + "type": "string" + } + }, + "required": [ + "AWSKMSKeyARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "KinesisStreamARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "additionalProperties": false, + "properties": { + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "BloomFilterColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BloomFilterFalsePositiveProbability": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { + "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "EnableDictionaryCompression": { + "type": "boolean" + }, + "MaxPaddingBytes": { + "type": "number" + }, + "PageSizeBytes": { + "type": "number" + }, + "WriterVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Processors": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Processor": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterJDBCURL": { + "type": "string" + }, + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "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" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { + "type": "number" + }, + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { + "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "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": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::DataLakeSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsWithGrantOption": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" + } + }, + "required": [ + "DataLakePrincipal", + "Resource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Permissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "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" + }, + "AWS::LakeFormation::Permissions.TableResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseServiceLinkedRole": { + "type": "boolean" + } + }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "FunctionName": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" + } + }, + "required": [ + "FunctionName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" + }, + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AllowedPublishers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::CodeSigningConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + }, + "FunctionName": { + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "Qualifier": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventInvokeConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionResponseTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "PartialBatchResponse": { + "type": "boolean" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventSourceMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" + } + }, + "required": [ + "Code", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Function.Code": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, + "AWS::Lambda::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion.Content": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersionPermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "LayerVersionArn": { + "type": "string" + }, + "OrganizationId": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Action", + "LayerVersionArn", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersionPermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Permission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "EventSourceToken": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "Action", + "FunctionName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { + "type": "string" + }, + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::Grant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LicenseManager::License": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Beneficiary": { + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "type": "array" + }, + "HomeRegion": { + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "type": "array" + }, + "LicenseName": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProductSKU": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" + } + }, + "required": [ + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Overage": { + "type": "boolean" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SignKey": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "type": "string" + }, + "End": { + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::Logs::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationName": { + "type": "string" + }, + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::LogGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RetentionInDays": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Logs::LogStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MetricTransformations": { + "items": { + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + }, + "type": "array" + } + }, + "required": [ + "FilterPattern", + "LogGroupName", + "MetricTransformations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::MetricFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter.MetricTransformation": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricValue": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], + "type": "object" + }, + "AWS::Logs::SubscriptionFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutVision::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutVision::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::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": { + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" + }, + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { + "type": "string" + }, + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { + "type": "string" + }, + "KafkaVersion": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MSK::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "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": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "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": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "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": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "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.Sasl": { + "additionalProperties": false, + "properties": { + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "required": [ + "Scram" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AirflowConfigurationOptions": { + "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" + }, + "AirflowVersion": { + "type": "string" + }, + "DagS3Path": { + "type": "string" + }, + "EnvironmentClass": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" + }, + "MaxWorkers": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { + "type": "string" + }, + "PluginsS3Path": { + "type": "string" + }, + "RequirementsS3ObjectVersion": { + "type": "string" + }, + "RequirementsS3Path": { + "type": "string" + }, + "SourceBucketArn": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" + }, + "WebserverAccessMode": { + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MWAA::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MWAA::Environment.AirflowConfigurationOptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "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::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InvitationId": { + "type": "string" + }, + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" + }, + "NetworkId": { + "type": "string" + } + }, + "required": [ + "MemberConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MemberId": { + "type": "string" + }, + "NetworkId": { + "type": "string" + }, + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + } + }, + "required": [ + "NetworkId", + "NodeConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Node" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" + }, + "EntitlementStatus": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Description", + "FlowArn", + "Name", + "Subscribers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowEntitlement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Destination": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" + }, + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "required": [ + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowVpcInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowVpcInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::JobTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "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": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Preset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" + }, + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" + }, + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel.AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Ac3Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AribDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" + }, + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" + }, + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" + }, + "type": "array" + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailSettings": { + "additionalProperties": false, + "properties": { + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDescription": { + "additionalProperties": false, + "properties": { + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" + }, + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" + }, + "type": "array" + }, + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "number" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "number" + }, + "CaptureIntervalUnits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "number" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufFillPct": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "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::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "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.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "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::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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" + }, + { + "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" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::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" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "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::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "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" + }, + { + "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" + } + }, + "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" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "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": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::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": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::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" }, - "Retries": { - "type": "number" + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" }, - "RetryInterval": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "AWS::Pinpoint::App": { "additionalProperties": false, "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NumRetries": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" + "Metadata": { + "type": "object" }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "NameModifier": { + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], "type": "string" }, - "SegmentModifier": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.HlsSettings": { + "AWS::Pinpoint::ApplicationSettings": { "additionalProperties": false, "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" + "Metadata": { + "type": "object" }, - "FilecacheDuration": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" }, - "HttpTransferMode": { + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputAttachment": { + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { "additionalProperties": false, "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { + "LambdaFunctionName": { "type": "string" }, - "InputId": { + "Mode": { "type": "string" }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + "WebUrl": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.InputChannelLevel": { + "AWS::Pinpoint::ApplicationSettings.Limits": { "additionalProperties": false, "properties": { - "Gain": { + "Daily": { "type": "number" }, - "InputChannel": { + "MaximumDuration": { "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLocation": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" }, - "Uri": { - "type": "string" + "MessagesPerSecond": { + "type": "number" }, - "Username": { - "type": "string" + "Total": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.InputLossBehavior": { + "AWS::Pinpoint::ApplicationSettings.QuietTime": { "additionalProperties": false, "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { + "End": { "type": "string" }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "InputLossImageType": { + "Start": { "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" } }, + "required": [ + "End", + "Start" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSettings": { + "AWS::Pinpoint::BaiduChannel": { "additionalProperties": false, "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "FilterStrength": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InputFilter": { - "type": "string" + "Metadata": { + "type": "object" }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" }, - "Smpte2038DataPreference": { + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], "type": "string" }, - "SourceEndBehavior": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.InputSpecification": { + "AWS::Pinpoint::Campaign": { "additionalProperties": false, "properties": { - "Codec": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MaximumBitrate": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], "type": "string" }, - "Resolution": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.KeyProviderSettings": { - "additionalProperties": false, - "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M2tsSettings": { + "AWS::Pinpoint::Campaign.AttributeDimension": { "additionalProperties": false, "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { - "type": "string" - }, - "AribCaptionsPid": { - "type": "string" - }, - "AribCaptionsPidControl": { - "type": "string" - }, - "AudioBufferModel": { - "type": "string" - }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "AudioStreamType": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { + "AttributeType": { "type": "string" }, - "FragmentTime": { - "type": "number" - }, - "Klv": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { "type": "string" }, - "KlvDataPids": { + "FromAddress": { "type": "string" }, - "NielsenId3Behavior": { + "HtmlBody": { "type": "string" }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { + "Title": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { + "FilterType": { "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { "type": "string" }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { + "Mode": { "type": "string" }, - "Scte27Pids": { + "WebUrl": { "type": "string" - }, - "Scte35Control": { + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { "type": "string" }, - "Scte35Pid": { + "EntityId": { "type": "string" }, - "SegmentationMarkers": { + "MessageType": { "type": "string" }, - "SegmentationStyle": { + "OriginationNumber": { "type": "string" }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { + "SenderId": { "type": "string" }, - "TimedMetadataPid": { + "TemplateId": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" }, - "TransportStreamId": { - "type": "number" + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" }, - "VideoPid": { - "type": "string" + "Metrics": { + "type": "object" } }, "type": "object" }, - "AWS::MediaLive::Channel.M3u8Settings": { + "AWS::Pinpoint::Campaign.Limits": { "additionalProperties": false, "properties": { - "AudioFramesPerPes": { + "Daily": { "type": "number" }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { + "MaximumDuration": { "type": "number" }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { + "MessagesPerSecond": { "type": "number" }, - "PcrPid": { + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { "type": "string" }, - "PmtInterval": { - "type": "number" + "Body": { + "type": "string" }, - "PmtPid": { + "ImageIconUrl": { "type": "string" }, - "ProgramNum": { - "type": "number" + "ImageSmallIconUrl": { + "type": "string" }, - "Scte35Behavior": { + "ImageUrl": { "type": "string" }, - "Scte35Pid": { + "JsonBody": { "type": "string" }, - "TimedMetadataBehavior": { + "MediaUrl": { "type": "string" }, - "TimedMetadataPid": { + "RawContent": { "type": "string" }, - "TransportStreamId": { + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { "type": "number" }, - "VideoPid": { + "Title": { + "type": "string" + }, + "Url": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "AWS::Pinpoint::Campaign.MessageConfiguration": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" } }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "AWS::Pinpoint::Campaign.MetricDimension": { "additionalProperties": false, "properties": { - "ChannelId": { + "ComparisonOperator": { "type": "string" + }, + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Mp2Settings": { + "AWS::Pinpoint::Campaign.QuietTime": { "additionalProperties": false, "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { + "End": { "type": "string" }, - "SampleRate": { - "type": "number" + "Start": { + "type": "string" } }, + "required": [ + "End", + "Start" + ], "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "AWS::Pinpoint::Campaign.Schedule": { "additionalProperties": false, "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "EventId": { - "type": "string" - }, - "EventIdMode": { - "type": "string" - }, - "EventStopBehavior": { - "type": "string" - }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { + "EndTime": { "type": "string" }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" }, - "SegmentationMode": { + "Frequency": { "type": "string" }, - "SendDelayMs": { - "type": "number" - }, - "SparseTrackType": { - "type": "string" + "IsLocalTime": { + "type": "boolean" }, - "StreamManifestBehavior": { - "type": "string" + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" }, - "TimestampOffset": { + "StartTime": { "type": "string" }, - "TimestampOffsetMode": { + "TimeZone": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "AWS::Pinpoint::Campaign.SetDimension": { "additionalProperties": false, "properties": { - "H265PackagingType": { + "DimensionType": { "type": "string" }, - "NameModifier": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "AWS::Pinpoint::EmailChannel": { "additionalProperties": false, "properties": { - "MultiplexId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ProgramName": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.NetworkInputSettings": { + "AWS::Pinpoint::EmailTemplate": { "additionalProperties": false, "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ServerValidation": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.NielsenConfiguration": { + "AWS::Pinpoint::EventStream": { "additionalProperties": false, "properties": { - "DistributorId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NielsenPcmToId3Tagging": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.Output": { + "AWS::Pinpoint::GCMChannel": { "additionalProperties": false, "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CaptionDescriptionNames": { - "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": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } }, - "type": "array" + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" }, - "OutputName": { + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], "type": "string" }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputDestination": { + "AWS::Pinpoint::PushTemplate": { "additionalProperties": false, "properties": { - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + "Metadata": { + "type": "object" }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + "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" + } }, - "type": "array" + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { "additionalProperties": false, "properties": { - "PasswordParam": { + "Action": { "type": "string" }, - "StreamName": { + "Body": { "type": "string" }, - "Url": { + "MediaUrl": { "type": "string" }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { + "Sound": { "type": "string" }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + "Title": { + "type": "string" }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" + "Url": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputGroupSettings": { + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { "additionalProperties": false, "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + "Action": { + "type": "string" }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + "Body": { + "type": "string" }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + "ImageIconUrl": { + "type": "string" }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + "ImageUrl": { + "type": "string" }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + "SmallImageIconUrl": { + "type": "string" }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + "Sound": { + "type": "string" }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + "Title": { + "type": "string" }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputLocationRef": { - "additionalProperties": false, - "properties": { - "DestinationRefId": { + "Url": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.OutputSettings": { + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { "additionalProperties": false, "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + "Action": { + "type": "string" }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + "Body": { + "type": "string" }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { - "additionalProperties": false, - "properties": { - "ChannelMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" - }, - "type": "array" + "Sound": { + "type": "string" }, - "ChannelsIn": { - "type": "number" + "Title": { + "type": "string" }, - "ChannelsOut": { - "type": "number" + "Url": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { + "AWS::Pinpoint::SMSChannel": { "additionalProperties": false, "properties": { - "AuthenticationScheme": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "CacheFullBehavior": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CacheLength": { - "type": "number" + "Metadata": { + "type": "object" }, - "CaptionData": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" }, - "InputLossAction": { + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], "type": "string" }, - "RestartDelay": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { + "AWS::Pinpoint::Segment": { "additionalProperties": false, "properties": { - "CertificateMode": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConnectionRetryInterval": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "Metadata": { + "type": "object" }, - "NumRetries": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { + "AWS::Pinpoint::Segment.AttributeDimension": { "additionalProperties": false, "properties": { - "Convert608To708": { + "AttributeType": { "type": "string" }, - "Source608ChannelNumber": { - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { + "AWS::Pinpoint::Segment.Behavior": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "AWS::Pinpoint::Segment.Coordinates": { "additionalProperties": false, "properties": { - "AdAvailOffset": { + "Latitude": { "type": "number" }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" + "Longitude": { + "type": "number" } }, + "required": [ + "Latitude", + "Longitude" + ], "type": "object" }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "AWS::Pinpoint::Segment.Demographic": { "additionalProperties": false, "properties": { - "AdAvailOffset": { - "type": "number" + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" }, - "NoRegionalBlackoutFlag": { - "type": "string" + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" }, - "WebDeliveryAllowedFlag": { - "type": "string" + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" } }, "type": "object" }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { + "AWS::Pinpoint::Segment.GPSPoint": { "additionalProperties": false, "properties": { - "AudioRenditionSets": { - "type": "string" + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + "RangeInKilometers": { + "type": "number" } }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], "type": "object" }, - "AWS::MediaLive::Channel.StaticKeySettings": { + "AWS::Pinpoint::Segment.Groups": { "additionalProperties": false, "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" }, - "StaticKeyValue": { + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { + "AWS::Pinpoint::Segment.Location": { "additionalProperties": false, "properties": { - "PageNumber": { - "type": "string" + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" } }, "type": "object" }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { + "AWS::Pinpoint::Segment.Recency": { "additionalProperties": false, "properties": { - "PostFilterSharpening": { + "Duration": { "type": "string" }, - "Strength": { + "RecencyType": { "type": "string" } }, + "required": [ + "Duration", + "RecencyType" + ], "type": "object" }, - "AWS::MediaLive::Channel.TimecodeConfig": { + "AWS::Pinpoint::Segment.SegmentDimensions": { "additionalProperties": false, "properties": { - "Source": { - "type": "string" + "Attributes": { + "type": "object" }, - "SyncThreshold": { - "type": "number" + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" } }, "type": "object" }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "AWS::Pinpoint::Segment.SegmentGroups": { "additionalProperties": false, "properties": { - "StyleControl": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.UdpContainerSettings": { + "AWS::Pinpoint::Segment.SetDimension": { "additionalProperties": false, "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Channel.UdpGroupSettings": { + "AWS::Pinpoint::Segment.SourceSegments": { "additionalProperties": false, "properties": { - "InputLossAction": { - "type": "string" - }, - "TimedMetadataId3Frame": { + "Id": { "type": "string" }, - "TimedMetadataId3Period": { + "Version": { "type": "number" } }, + "required": [ + "Id" + ], "type": "object" }, - "AWS::MediaLive::Channel.UdpOutputSettings": { + "AWS::Pinpoint::SmsTemplate": { "additionalProperties": false, "properties": { - "BufferMsec": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + "Metadata": { + "type": "object" }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoCodecSettings": { + "AWS::Pinpoint::VoiceChannel": { "additionalProperties": false, "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoDescription": { + "AWS::PinpointEmail::ConfigurationSet": { "additionalProperties": false, "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Height": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "type": "string" + "Metadata": { + "type": "object" }, - "RespondToAfd": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "ScalingBehavior": { + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], "type": "string" }, - "Sharpness": { - "type": "number" - }, - "Width": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaLive::Channel.VideoSelector": { + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { "additionalProperties": false, "properties": { - "ColorSpace": { - "type": "string" - }, - "ColorSpaceUsage": { + "SendingPoolName": { "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorPid": { + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { "additionalProperties": false, "properties": { - "Pid": { - "type": "number" + "ReputationMetricsEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { "additionalProperties": false, "properties": { - "ProgramId": { - "type": "number" + "SendingEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { + "AWS::PinpointEmail::ConfigurationSet.Tags": { "additionalProperties": false, "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + "Key": { + "type": "string" }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + "Value": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { "additionalProperties": false, - "properties": {}, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, "type": "object" }, - "AWS::MediaLive::Input": { + "AWS::PinpointEmail::ConfigurationSetEventDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -58941,57 +77184,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "type": "array" - }, - "InputSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RoleArn": { + "ConfigurationSetName": { "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" - }, - "Tags": { - "type": "object" + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" }, - "Type": { + "EventDestinationName": { "type": "string" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" } }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaLive::Input" + "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "type": "string" }, @@ -59005,80 +77216,111 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::MediaLive::Input.InputDestinationRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { "additionalProperties": false, "properties": { - "StreamName": { - "type": "string" + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaLive::Input.InputDeviceRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { "additionalProperties": false, "properties": { - "Id": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { "type": "string" } }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], "type": "object" }, - "AWS::MediaLive::Input.InputDeviceSettings": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" } }, + "required": [ + "MatchingEventTypes" + ], "type": "object" }, - "AWS::MediaLive::Input.InputSourceRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { "additionalProperties": false, "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { + "DeliveryStreamArn": { "type": "string" }, - "Username": { + "IamRoleArn": { "type": "string" } }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" } }, "type": "object" }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { "additionalProperties": false, "properties": { - "FlowArn": { + "TopicArn": { "type": "string" } }, + "required": [ + "TopicArn" + ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup": { + "AWS::PinpointEmail::DedicatedIpPool": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59110,12 +77352,12 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "type": "object" + "PoolName": { + "type": "string" }, - "WhitelistRules": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" }, "type": "array" } @@ -59124,7 +77366,7 @@ }, "Type": { "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::PinpointEmail::DedicatedIpPool" ], "type": "string" }, @@ -59142,16 +77384,19 @@ ], "type": "object" }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "AWS::PinpointEmail::DedicatedIpPool.Tags": { "additionalProperties": false, "properties": { - "Cidr": { + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::Asset": { + "AWS::PinpointEmail::Identity": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59183,45 +77428,33 @@ "Properties": { "additionalProperties": false, "properties": { - "EgressEndpoints": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" + "DkimSigningEnabled": { + "type": "boolean" }, - "ResourceId": { - "type": "string" + "FeedbackForwardingEnabled": { + "type": "boolean" }, - "SourceArn": { - "type": "string" + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" }, - "SourceRoleArn": { + "Name": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" }, "type": "array" } }, "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::Asset" + "AWS::PinpointEmail::Identity" ], "type": "string" }, @@ -59240,23 +77473,31 @@ ], "type": "object" }, - "AWS::MediaPackage::Asset.EgressEndpoint": { + "AWS::PinpointEmail::Identity.MailFromAttributes": { "additionalProperties": false, "properties": { - "PackagingConfigurationId": { + "BehaviorOnMxFailure": { "type": "string" }, - "Url": { + "MailFromDomain": { "type": "string" } }, - "required": [ - "PackagingConfigurationId", - "Url" - ], "type": "object" }, - "AWS::MediaPackage::Channel": { + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59288,10 +77529,13 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "DeletionProtection": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "Id": { + "PermissionsMode": { "type": "string" }, "Tags": { @@ -59302,13 +77546,13 @@ } }, "required": [ - "Id" + "PermissionsMode" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::Channel" + "AWS::QLDB::Ledger" ], "type": "string" }, @@ -59327,37 +77571,106 @@ ], "type": "object" }, - "AWS::MediaPackage::Channel.HlsIngest": { + "AWS::QLDB::Stream": { "additionalProperties": false, "properties": { - "ingestEndpoints": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.IngestEndpoint" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } }, - "type": "array" + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::MediaPackage::Channel.IngestEndpoint": { + "AWS::QLDB::Stream.KinesisConfiguration": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Url": { - "type": "string" + "AggregationEnabled": { + "type": "boolean" }, - "Username": { + "StreamArn": { "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint": { + "AWS::QuickSight::Analysis": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59389,64 +77702,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" - }, - "ChannelId": { - "type": "string" - }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { - "type": "string" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" - }, - "Id": { + "AnalysisId": { "type": "string" }, - "ManifestName": { + "AwsAccountId": { "type": "string" }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" }, - "Origination": { + "Name": { "type": "string" }, - "StartoverWindowSeconds": { - "type": "number" + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" }, - "Tags": { + "Permissions": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" }, "type": "array" }, - "TimeDelaySeconds": { - "type": "number" + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" }, - "Whitelist": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThemeArn": { + "type": "string" } }, "required": [ - "ChannelId", - "Id" + "AnalysisId", + "AwsAccountId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::OriginEndpoint" + "AWS::QuickSight::Analysis" ], "type": "string" }, @@ -59465,311 +77766,200 @@ ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { + "AWS::QuickSight::Analysis.AnalysisError": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { + "Message": { "type": "string" }, - "SecretsRoleArn": { + "Type": { "type": "string" } }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + "Arn": { + "type": "string" }, - "HlsManifests": { + "DataSetReferences": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentPrefix": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" } }, + "required": [ + "Arn", + "DataSetReferences" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "AWS::QuickSight::Analysis.DataSetReference": { "additionalProperties": false, "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" + "DataSetArn": { + "type": "string" }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "DataSetPlaceholder": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "DataSetArn", + "DataSetPlaceholder" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "AWS::QuickSight::Analysis.DateTimeParameter": { "additionalProperties": false, "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { + "Name": { "type": "string" }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { + "Values": { "items": { "type": "string" }, "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" } }, + "required": [ + "Name", + "Values" + ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "AWS::QuickSight::Analysis.DecimalParameter": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { + "Name": { "type": "string" }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, "required": [ - "SpekeKeyProvider" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "AWS::QuickSight::Analysis.IntegerParameter": { "additionalProperties": false, "properties": { - "AdMarkers": { + "Name": { "type": "string" }, - "AdTriggers": { + "Values": { "items": { - "type": "string" + "type": "number" }, "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "Url": { - "type": "string" } }, "required": [ - "Id" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "AWS::QuickSight::Analysis.Parameters": { "additionalProperties": false, "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { + "DateTimeParameters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" }, "type": "array" }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" }, - "UseAudioRenditionGroup": { - "type": "boolean" + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "AWS::QuickSight::Analysis.ResourcePermission": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" } }, "required": [ - "SpekeKeyProvider" + "Actions", + "Principal" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "AWS::QuickSight::Analysis.Sheet": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" + "Name": { + "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + "SheetId": { + "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "AWS::QuickSight::Analysis.StringParameter": { "additionalProperties": false, "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { + "Name": { "type": "string" }, - "SystemIds": { + "Values": { "items": { "type": "string" }, "type": "array" - }, - "Url": { - "type": "string" } }, "required": [ - "ResourceId", - "RoleArn", - "SystemIds", - "Url" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { + "AWS::QuickSight::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -59801,40 +77991,52 @@ "Properties": { "additionalProperties": false, "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + "AwsAccountId": { + "type": "string" }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + "DashboardId": { + "type": "string" }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" }, - "Id": { + "Name": { "type": "string" }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" }, - "PackagingGroupId": { - "type": "string" + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" } }, "required": [ - "Id", - "PackagingGroupId" + "AwsAccountId", + "DashboardId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::PackagingConfiguration" + "AWS::QuickSight::Dashboard" ], "type": "string" }, @@ -59853,252 +78055,218 @@ ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "AvailabilityStatus": { + "type": "string" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" }, - "SegmentDurationSeconds": { - "type": "number" + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" } }, - "required": [ - "HlsManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { "additionalProperties": false, "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { + "Arn": { "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" - }, - "type": "array" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" - }, - "PeriodTriggers": { + "DataSetReferences": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" } }, "required": [ - "DashManifests" + "Arn", + "DataSetReferences" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "AWS::QuickSight::Dashboard.DataSetReference": { "additionalProperties": false, "properties": { - "ConstantInitializationVector": { + "DataSetArn": { "type": "string" }, - "EncryptionMethod": { + "DataSetPlaceholder": { "type": "string" - }, - "SpekeKeyProvider": { - "type": "object" } }, "required": [ - "SpekeKeyProvider" + "DataSetArn", + "DataSetPlaceholder" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "AWS::QuickSight::Dashboard.DateTimeParameter": { "additionalProperties": false, "properties": { - "AdMarkers": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { + "Name": { "type": "string" }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, + "required": [ + "Name", + "Values" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "AWS::QuickSight::Dashboard.DecimalParameter": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + "Name": { + "type": "string" }, - "HlsManifests": { + "Values": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + "type": "number" }, "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" } }, "required": [ - "HlsManifests" + "Name", + "Values" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "AWS::QuickSight::Dashboard.ExportToCSVOption": { "additionalProperties": false, "properties": { - "SpekeKeyProvider": { - "type": "object" + "AvailabilityStatus": { + "type": "string" } }, - "required": [ - "SpekeKeyProvider" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "AWS::QuickSight::Dashboard.IntegerParameter": { "additionalProperties": false, "properties": { - "ManifestName": { + "Name": { "type": "string" }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, + "required": [ + "Name", + "Values" + ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "AWS::QuickSight::Dashboard.Parameters": { "additionalProperties": false, "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" }, - "MssManifests": { + "DecimalParameters": { "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" }, "type": "array" }, - "SegmentDurationSeconds": { - "type": "number" + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" } }, - "required": [ - "MssManifests" - ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "AWS::QuickSight::Dashboard.ResourcePermission": { "additionalProperties": false, "properties": { - "RoleArn": { - "type": "string" - }, - "SystemIds": { + "Actions": { "items": { "type": "string" }, "type": "array" }, - "Url": { + "Principal": { "type": "string" } }, "required": [ - "RoleArn", - "SystemIds", - "Url" + "Actions", + "Principal" ], "type": "object" }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "AWS::QuickSight::Dashboard.SheetControlsOption": { "additionalProperties": false, "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { + "VisibilityState": { "type": "string" } }, "type": "object" }, - "AWS::MediaPackage::PackagingGroup": { + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60130,27 +78298,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + "AwsAccountId": { + "type": "string" }, - "Id": { + "Name": { "type": "string" }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" } }, "required": [ - "Id" + "AwsAccountId", + "TemplateId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaPackage::PackagingGroup" + "AWS::QuickSight::Template" ], "type": "string" }, @@ -60169,23 +78353,85 @@ ], "type": "object" }, - "AWS::MediaPackage::PackagingGroup.Authorization": { + "AWS::QuickSight::Template.DataSetReference": { "additionalProperties": false, "properties": { - "CdnIdentifierSecret": { + "DataSetArn": { "type": "string" }, - "SecretsRoleArn": { + "DataSetPlaceholder": { "type": "string" } }, "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" + "DataSetArn", + "DataSetPlaceholder" ], "type": "object" }, - "AWS::MediaStore::Container": { + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60217,42 +78463,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { + "AwsAccountId": { "type": "string" }, - "CorsPolicy": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" - }, - "type": "array" - }, - "LifecyclePolicy": { + "BaseThemeId": { "type": "string" }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" }, - "Policy": { + "Name": { "type": "string" }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" } }, "required": [ - "ContainerName" + "AwsAccountId", + "ThemeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaStore::Container" + "AWS::QuickSight::Theme" ], "type": "string" }, @@ -60271,74 +78521,283 @@ ], "type": "object" }, - "AWS::MediaStore::Container.CorsRule": { + "AWS::QuickSight::Theme.BorderStyle": { "additionalProperties": false, "properties": { - "AllowedHeaders": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { "items": { "type": "string" }, "type": "array" }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "EmptyFillColor": { + "type": "string" }, - "AllowedOrigins": { + "MinMaxGradient": { "items": { "type": "string" }, "type": "array" - }, - "ExposeHeaders": { + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { "items": { "type": "string" }, "type": "array" }, - "MaxAgeSeconds": { - "type": "number" + "Principal": { + "type": "string" } }, + "required": [ + "Actions", + "Principal" + ], "type": "object" }, - "AWS::MediaStore::Container.MetricPolicy": { + "AWS::QuickSight::Theme.SheetStyle": { "additionalProperties": false, "properties": { - "ContainerLevelMetrics": { - "type": "string" + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" }, - "MetricPolicyRules": { + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" }, "type": "array" } }, - "required": [ - "ContainerLevelMetrics" - ], "type": "object" }, - "AWS::MediaStore::Container.MetricPolicyRule": { + "AWS::QuickSight::Theme.UIColorPalette": { "additionalProperties": false, "properties": { - "ObjectGroup": { + "Accent": { "type": "string" }, - "ObjectGroupName": { + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ObjectGroup", - "ObjectGroupName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster": { + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60372,7 +78831,7 @@ "properties": { "AssociatedRoles": { "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" }, "type": "array" }, @@ -60382,6 +78841,9 @@ }, "type": "array" }, + "BacktrackWindow": { + "type": "number" + }, "BackupRetentionPeriod": { "type": "number" }, @@ -60394,6 +78856,9 @@ "DBSubnetGroupName": { "type": "string" }, + "DatabaseName": { + "type": "string" + }, "DeletionProtection": { "type": "boolean" }, @@ -60403,15 +78868,33 @@ }, "type": "array" }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, "EngineVersion": { "type": "string" }, - "IamAuthEnabled": { - "type": "boolean" + "GlobalClusterIdentifier": { + "type": "string" }, "KmsKeyId": { "type": "string" }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, "Port": { "type": "number" }, @@ -60421,18 +78904,24 @@ "PreferredMaintenanceWindow": { "type": "string" }, - "RestoreToTime": { + "ReplicationSourceIdentifier": { "type": "string" }, "RestoreType": { "type": "string" }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, "SnapshotIdentifier": { "type": "string" }, "SourceDBClusterIdentifier": { "type": "string" }, + "SourceRegion": { + "type": "string" + }, "StorageEncrypted": { "type": "boolean" }, @@ -60452,11 +78941,14 @@ "type": "array" } }, + "required": [ + "Engine" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Neptune::DBCluster" + "AWS::RDS::DBCluster" ], "type": "string" }, @@ -60470,11 +78962,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Neptune::DBCluster.DBClusterRole": { + "AWS::RDS::DBCluster.DBClusterRole": { "additionalProperties": false, "properties": { "FeatureName": { @@ -60489,7 +78982,25 @@ ], "type": "object" }, - "AWS::Neptune::DBClusterParameterGroup": { + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60527,9 +79038,6 @@ "Family": { "type": "string" }, - "Name": { - "type": "string" - }, "Parameters": { "type": "object" }, @@ -60549,7 +79057,7 @@ }, "Type": { "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::RDS::DBClusterParameterGroup" ], "type": "string" }, @@ -60568,7 +79076,7 @@ ], "type": "object" }, - "AWS::Neptune::DBInstance": { + "AWS::RDS::DBInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -60600,15 +79108,36 @@ "Properties": { "additionalProperties": false, "properties": { + "AllocatedStorage": { + "type": "string" + }, "AllowMajorVersionUpgrade": { "type": "boolean" }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, "AutoMinorVersionUpgrade": { "type": "boolean" }, "AvailabilityZone": { "type": "string" }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -60618,329 +79147,121 @@ "DBInstanceIdentifier": { "type": "string" }, + "DBName": { + "type": "string" + }, "DBParameterGroupName": { "type": "string" }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, "DBSnapshotIdentifier": { "type": "string" }, "DBSubnetGroupName": { "type": "string" }, - "PreferredMaintenanceWindow": { + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DomainIAMRoleName": { "type": "string" }, - { + "EnableCloudwatchLogsExports": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" }, - "Family": { + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { "type": "string" }, - "Name": { + "EngineVersion": { "type": "string" }, - "Parameters": { - "type": "object" + "Iops": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "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::Neptune::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "KmsKeyId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { + "LicenseModel": { "type": "string" }, - "DBSubnetGroupName": { + "MasterUserPassword": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "MasterUsername": { + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::CustomerGatewayAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayArn": { + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { "type": "string" }, - "DeviceId": { + "PerformanceInsightsKMSKeyId": { "type": "string" }, - "GlobalNetworkId": { + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { "type": "string" }, - "LinkId": { + "PreferredBackupWindow": { "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::NetworkManager::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "PreferredMaintenanceWindow": { "type": "string" }, - { + "ProcessorFeatures": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" }, - "GlobalNetworkId": { - "type": "string" + "PromotionTier": { + "type": "number" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + "PubliclyAccessible": { + "type": "boolean" }, - "Model": { + "SourceDBInstanceIdentifier": { "type": "string" }, - "SerialNumber": { + "SourceRegion": { "type": "string" }, - "SiteId": { + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { "type": "string" }, "Tags": { @@ -60949,21 +79270,27 @@ }, "type": "array" }, - "Type": { + "Timezone": { "type": "string" }, - "Vendor": { - "type": "string" + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "GlobalNetworkId" + "DBInstanceClass" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Device" + "AWS::RDS::DBInstance" ], "type": "string" }, @@ -60982,22 +79309,35 @@ ], "type": "object" }, - "AWS::NetworkManager::Device.Location": { + "AWS::RDS::DBInstance.DBInstanceRole": { "additionalProperties": false, "properties": { - "Address": { + "FeatureName": { "type": "string" }, - "Latitude": { + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "Longitude": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::GlobalNetwork": { + "AWS::RDS::DBParameterGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61032,6 +79372,18 @@ "Description": { "type": "string" }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -61039,11 +79391,15 @@ "type": "array" } }, + "required": [ + "Description", + "Family" + ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::GlobalNetwork" + "AWS::RDS::DBParameterGroup" ], "type": "string" }, @@ -61057,11 +79413,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::NetworkManager::Link": { + "AWS::RDS::DBProxy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61093,41 +79450,61 @@ "Properties": { "additionalProperties": false, "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" }, - "Description": { + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { "type": "string" }, - "GlobalNetworkId": { - "type": "string" + "IdleClientTimeout": { + "type": "number" }, - "Provider": { - "type": "string" + "RequireTLS": { + "type": "boolean" }, - "SiteId": { + "RoleArn": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" }, "type": "array" }, - "Type": { - "type": "string" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Link" + "AWS::RDS::DBProxy" ], "type": "string" }, @@ -61146,19 +79523,40 @@ ], "type": "object" }, - "AWS::NetworkManager::Link.Bandwidth": { + "AWS::RDS::DBProxy.AuthFormat": { "additionalProperties": false, "properties": { - "DownloadSpeed": { - "type": "number" + "AuthScheme": { + "type": "string" }, - "UploadSpeed": { - "type": "number" + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::LinkAssociation": { + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61190,26 +79588,37 @@ "Properties": { "additionalProperties": false, "properties": { - "DeviceId": { - "type": "string" + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" }, - "GlobalNetworkId": { + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { "type": "string" }, - "LinkId": { + "TargetGroupName": { "type": "string" } }, "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::LinkAssociation" + "AWS::RDS::DBProxyTargetGroup" ], "type": "string" }, @@ -61228,7 +79637,31 @@ ], "type": "object" }, - "AWS::NetworkManager::Site": { + "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": { "DeletionPolicy": { @@ -61260,14 +79693,17 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" }, - "GlobalNetworkId": { + "EC2VpcId": { "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + "GroupDescription": { + "type": "string" }, "Tags": { "items": { @@ -61277,13 +79713,14 @@ } }, "required": [ - "GlobalNetworkId" + "DBSecurityGroupIngress", + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::Site" + "AWS::RDS::DBSecurityGroup" ], "type": "string" }, @@ -61302,22 +79739,25 @@ ], "type": "object" }, - "AWS::NetworkManager::Site.Location": { + "AWS::RDS::DBSecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "Address": { + "CIDRIP": { "type": "string" }, - "Latitude": { + "EC2SecurityGroupId": { "type": "string" }, - "Longitude": { + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { "type": "string" } }, "type": "object" }, - "AWS::NetworkManager::TransitGatewayRegistration": { + "AWS::RDS::DBSecurityGroupIngress": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61349,22 +79789,30 @@ "Properties": { "additionalProperties": false, "properties": { - "GlobalNetworkId": { + "CIDRIP": { "type": "string" }, - "TransitGatewayArn": { + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { "type": "string" } }, "required": [ - "GlobalNetworkId", - "TransitGatewayArn" + "DBSecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" + "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" }, @@ -61383,7 +79831,7 @@ ], "type": "object" }, - "AWS::OpsWorks::App": { + "AWS::RDS::DBSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61415,68 +79863,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DataSources": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" - }, - "type": "array" + "DBSubnetGroupDescription": { + "type": "string" }, - "Description": { + "DBSubnetGroupName": { "type": "string" }, - "Domains": { + "SubnetIds": { "items": { "type": "string" }, "type": "array" }, - "EnableSsl": { - "type": "boolean" - }, - "Environment": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Name": { - "type": "string" - }, - "Shortname": { - "type": "string" - }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { - "type": "string" - }, - "Type": { - "type": "string" } }, "required": [ - "Name", - "StackId", - "Type" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::App" + "AWS::RDS::DBSubnetGroup" ], "type": "string" }, @@ -61495,80 +79909,7 @@ ], "type": "object" }, - "AWS::OpsWorks::App.DataSource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Secure": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::OpsWorks::App.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.SslConfiguration": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "AWS::RDS::EventSubscription": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61600,22 +79941,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ElasticLoadBalancerName": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { "type": "string" }, - "LayerId": { + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { "type": "string" } }, "required": [ - "ElasticLoadBalancerName", - "LayerId" + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" + "AWS::RDS::EventSubscription" ], "type": "string" }, @@ -61634,7 +79989,7 @@ ], "type": "object" }, - "AWS::OpsWorks::Instance": { + "AWS::RDS::GlobalCluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61666,92 +80021,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { + "DeletionProtection": { "type": "boolean" }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { + "Engine": { "type": "string" }, - "SubnetId": { + "EngineVersion": { "type": "string" }, - "Tenancy": { + "GlobalClusterIdentifier": { "type": "string" }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { + "SourceDBClusterIdentifier": { "type": "string" }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" + "StorageEncrypted": { + "type": "boolean" } }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Instance" + "AWS::RDS::GlobalCluster" ], "type": "string" }, @@ -61765,120 +80058,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, + "Type" + ], "type": "object" }, - "AWS::OpsWorks::Layer": { + "AWS::RDS::OptionGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -61910,61 +80094,19 @@ "Properties": { "additionalProperties": false, "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { + "EngineName": { "type": "string" }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { + "MajorEngineVersion": { "type": "string" }, - "Packages": { + "OptionConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" }, "type": "array" }, - "Shortname": { - "type": "string" - }, - "StackId": { + "OptionGroupDescription": { "type": "string" }, "Tags": { @@ -61972,34 +80114,19 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Type": { - "type": "string" - }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" - }, - "type": "array" } }, "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Layer" + "AWS::RDS::OptionGroup" ], "type": "string" }, @@ -62018,130 +80145,55 @@ ], "type": "object" }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { + "AWS::RDS::OptionGroup.OptionConfiguration": { "additionalProperties": false, "properties": { - "Configure": { + "DBSecurityGroupMemberships": { "items": { "type": "string" }, "type": "array" }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" + "OptionName": { + "type": "string" }, - "Setup": { + "OptionSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" }, "type": "array" }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" + "OptionVersion": { + "type": "string" }, - "Undeploy": { + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { "items": { "type": "string" }, "type": "array" } }, + "required": [ + "OptionName" + ], "type": "object" }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { + "AWS::RDS::OptionGroup.OptionSetting": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "MountPoint": { + "Name": { "type": "string" }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" - }, - "VolumeType": { + "Value": { "type": "string" } }, "type": "object" }, - "AWS::OpsWorks::Stack": { + "AWS::Redshift::Cluster": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62173,82 +80225,91 @@ "Properties": { "additionalProperties": false, "properties": { - "AgentVersion": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { "type": "string" }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ClusterIdentifier": { + "type": "string" }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + "ClusterParameterGroupName": { + "type": "string" }, - "CloneAppIds": { + "ClusterSecurityGroups": { "items": { "type": "string" }, "type": "array" }, - "ClonePermissions": { - "type": "boolean" + "ClusterSubnetGroupName": { + "type": "string" }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + "ClusterType": { + "type": "string" }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + "ClusterVersion": { + "type": "string" }, - "CustomJson": { - "type": "object" + "DBName": { + "type": "string" }, - "DefaultAvailabilityZone": { + "ElasticIp": { "type": "string" }, - "DefaultInstanceProfileArn": { + "Encrypted": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { "type": "string" }, - "DefaultOs": { + "HsmConfigurationIdentifier": { "type": "string" }, - "DefaultRootDeviceType": { + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { "type": "string" }, - "DefaultSshKeyName": { + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { "type": "string" }, - "DefaultSubnetId": { + "MasterUsername": { "type": "string" }, - "EcsClusterArn": { + "NodeType": { "type": "string" }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" + "NumberOfNodes": { + "type": "number" }, - "HostnameTheme": { + "OwnerAccount": { "type": "string" }, - "Name": { + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { "type": "string" }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" + "PubliclyAccessible": { + "type": "boolean" }, - "ServiceRoleArn": { + "SnapshotClusterIdentifier": { "type": "string" }, - "SourceStackId": { + "SnapshotIdentifier": { "type": "string" }, "Tags": { @@ -62257,26 +80318,25 @@ }, "type": "array" }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { - "type": "string" + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Stack" + "AWS::Redshift::Cluster" ], "type": "string" }, @@ -62295,90 +80355,255 @@ ], "type": "object" }, - "AWS::OpsWorks::Stack.ChefConfiguration": { + "AWS::Redshift::Cluster.LoggingProperties": { "additionalProperties": false, "properties": { - "BerkshelfVersion": { + "BucketName": { "type": "string" }, - "ManageBerkshelf": { - "type": "boolean" + "S3KeyPrefix": { + "type": "string" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::OpsWorks::Stack.ElasticIp": { + "AWS::Redshift::ClusterParameterGroup": { "additionalProperties": false, "properties": { - "Ip": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Name": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "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": [ - "Ip" + "Type", + "Properties" ], "type": "object" }, - "AWS::OpsWorks::Stack.RdsDbInstance": { + "AWS::Redshift::ClusterParameterGroup.Parameter": { "additionalProperties": false, "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { + "ParameterName": { "type": "string" }, - "RdsDbInstanceArn": { + "ParameterValue": { "type": "string" } }, "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" + "ParameterName", + "ParameterValue" ], "type": "object" }, - "AWS::OpsWorks::Stack.Source": { + "AWS::Redshift::ClusterSecurityGroup": { "additionalProperties": false, "properties": { - "Password": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Revision": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SshKey": { - "type": "string" + "Metadata": { + "type": "object" }, - "Type": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" }, - "Url": { + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], "type": "string" }, - "Username": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { + "AWS::Redshift::ClusterSecurityGroupIngress": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" }, - "Version": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::OpsWorks::UserProfile": { + "AWS::Redshift::ClusterSubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62410,27 +80635,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { + "Description": { "type": "string" }, - "SshPublicKey": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "SshUsername": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "IamUserArn" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::UserProfile" + "AWS::Redshift::ClusterSubnetGroup" ], "type": "string" }, @@ -62449,7 +80678,7 @@ ], "type": "object" }, - "AWS::OpsWorks::Volume": { + "AWS::ResourceGroups::Group": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62481,28 +80710,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Ec2VolumeId": { - "type": "string" - }, - "MountPoint": { + "Description": { "type": "string" }, "Name": { "type": "string" }, - "StackId": { - "type": "string" + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Ec2VolumeId", - "StackId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorks::Volume" + "AWS::ResourceGroups::Group" ], "type": "string" }, @@ -62521,7 +80752,55 @@ ], "type": "object" }, - "AWS::OpsWorksCM::Server": { + "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": { "DeletionPolicy": { @@ -62553,92 +80832,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BackupId": { - "type": "string" - }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { - "type": "string" - }, - "CustomDomain": { - "type": "string" - }, - "CustomPrivateKey": { - "type": "string" - }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" - }, - "EngineModel": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "InstanceProfileArn": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KeyPair": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServerName": { - "type": "string" - }, - "ServiceRoleArn": { + "Name": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, - "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::OpsWorksCM::Server" + "AWS::RoboMaker::Fleet" ], "type": "string" }, @@ -62652,24 +80857,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::OpsWorksCM::Server.EngineAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ADMChannel": { + "AWS::RoboMaker::Robot": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62701,29 +80893,31 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Architecture": { "type": "string" }, - "ClientId": { + "Fleet": { "type": "string" }, - "ClientSecret": { + "GreengrassGroupId": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" + "Architecture", + "GreengrassGroupId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ADMChannel" + "AWS::RoboMaker::Robot" ], "type": "string" }, @@ -62742,7 +80936,7 @@ ], "type": "object" }, - "AWS::Pinpoint::APNSChannel": { + "AWS::RoboMaker::RobotApplication": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62774,42 +80968,34 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { + "CurrentRevisionId": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "Name": { "type": "string" }, - "TeamId": { - "type": "string" + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" }, - "TokenKey": { - "type": "string" + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" }, - "TokenKeyId": { - "type": "string" + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId" + "RobotSoftwareSuite", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSChannel" + "AWS::RoboMaker::RobotApplication" ], "type": "string" }, @@ -62828,7 +81014,43 @@ ], "type": "object" }, - "AWS::Pinpoint::APNSSandboxChannel": { + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62860,42 +81082,21 @@ "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": { + "Application": { "type": "string" }, - "TokenKeyId": { + "CurrentRevisionId": { "type": "string" } }, "required": [ - "ApplicationId" + "Application" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" + "AWS::RoboMaker::RobotApplicationVersion" ], "type": "string" }, @@ -62914,7 +81115,7 @@ ], "type": "object" }, - "AWS::Pinpoint::APNSVoipChannel": { + "AWS::RoboMaker::SimulationApplication": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -62946,42 +81147,42 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { + "CurrentRevisionId": { "type": "string" }, - "DefaultAuthenticationMethod": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" }, - "PrivateKey": { - "type": "string" + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" }, - "TeamId": { - "type": "string" + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" }, - "TokenKey": { - "type": "string" + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" }, - "TokenKeyId": { - "type": "string" + "Tags": { + "type": "object" } }, "required": [ - "ApplicationId" + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipChannel" + "AWS::RoboMaker::SimulationApplication" ], "type": "string" }, @@ -63000,7 +81201,75 @@ ], "type": "object" }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63032,42 +81301,83 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { + "Application": { "type": "string" }, - "TeamId": { + "CurrentRevisionId": { "type": "string" - }, - "TokenKey": { + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "TokenKeyId": { + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { "type": "string" } }, "required": [ - "ApplicationId" + "HostedZoneId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" + "AWS::Route53::DNSSEC" ], "type": "string" }, @@ -63086,7 +81396,7 @@ ], "type": "object" }, - "AWS::Pinpoint::App": { + "AWS::Route53::HealthCheck": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63118,21 +81428,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Tags": { + "HealthCheckConfig": { "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" } }, "required": [ - "Name" + "HealthCheckConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::App" + "AWS::Route53::HealthCheck" ], "type": "string" }, @@ -63151,7 +81464,23 @@ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings": { + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63183,30 +81512,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "type": "string" + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" }, - "CloudWatchMetricsEnabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" } }, "required": [ - "ApplicationId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::ApplicationSettings" + "AWS::Route53::HostedZone" ], "type": "string" }, @@ -63225,56 +81560,60 @@ ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "AWS::Route53::HostedZone.HostedZoneConfig": { "additionalProperties": false, "properties": { - "LambdaFunctionName": { + "Comment": { "type": "string" - }, - "Mode": { + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" }, - "WebUrl": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.Limits": { + "AWS::Route53::HostedZone.QueryLoggingConfig": { "additionalProperties": false, "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" + "CloudWatchLogsLogGroupArn": { + "type": "string" } }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], "type": "object" }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "AWS::Route53::HostedZone.VPC": { "additionalProperties": false, "properties": { - "End": { + "VPCId": { "type": "string" }, - "Start": { + "VPCRegion": { "type": "string" } }, "required": [ - "End", - "Start" + "VPCId", + "VPCRegion" ], "type": "object" }, - "AWS::Pinpoint::BaiduChannel": { + "AWS::Route53::KeySigningKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63306,29 +81645,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "HostedZoneId": { "type": "string" }, - "ApplicationId": { + "KeyManagementServiceArn": { "type": "string" }, - "Enabled": { - "type": "boolean" + "Name": { + "type": "string" }, - "SecretKey": { + "Status": { "type": "string" } }, "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::BaiduChannel" + "AWS::Route53::KeySigningKey" ], "type": "string" }, @@ -63347,7 +81687,7 @@ ], "type": "object" }, - "AWS::Pinpoint::Campaign": { + "AWS::Route53::RecordSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63379,67 +81719,61 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" }, - "ApplicationId": { + "Comment": { "type": "string" }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" - }, - "Description": { + "Failover": { "type": "string" }, - "HoldoutPercent": { - "type": "number" - }, - "IsPaused": { - "type": "boolean" + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + "HealthCheckId": { + "type": "string" }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + "HostedZoneId": { + "type": "string" }, - "Name": { + "HostedZoneName": { "type": "string" }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + "MultiValueAnswer": { + "type": "boolean" }, - "SegmentId": { + "Name": { "type": "string" }, - "SegmentVersion": { - "type": "number" + "Region": { + "type": "string" }, - "Tags": { + "ResourceRecords": { "type": "object" }, - "TreatmentDescription": { + "SetIdentifier": { "type": "string" }, - "TreatmentName": { + "TTL": { + "type": "string" + }, + "Type": { "type": "string" + }, + "Weight": { + "type": "number" } }, "required": [ - "ApplicationId", - "MessageConfiguration", "Name", - "Schedule", - "SegmentId" + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::Campaign" + "AWS::Route53::RecordSet" ], "type": "string" }, @@ -63458,275 +81792,483 @@ ], "type": "object" }, - "AWS::Pinpoint::Campaign.AttributeDimension": { + "AWS::Route53::RecordSet.AliasTarget": { "additionalProperties": false, "properties": { - "AttributeType": { + "DNSName": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" } }, + "required": [ + "DNSName", + "HostedZoneId" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "AWS::Route53::RecordSet.GeoLocation": { "additionalProperties": false, "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { + "ContinentCode": { "type": "string" }, - "HtmlBody": { + "CountryCode": { "type": "string" }, - "Title": { + "SubdivisionCode": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "AWS::Route53::RecordSetGroup": { "additionalProperties": false, "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "FilterType": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignHook": { + "AWS::Route53::RecordSetGroup.AliasTarget": { "additionalProperties": false, "properties": { - "LambdaFunctionName": { + "DNSName": { "type": "string" }, - "Mode": { - "type": "string" + "EvaluateTargetHealth": { + "type": "boolean" }, - "WebUrl": { + "HostedZoneId": { "type": "string" } }, + "required": [ + "DNSName", + "HostedZoneId" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "AWS::Route53::RecordSetGroup.GeoLocation": { "additionalProperties": false, "properties": { - "Body": { + "ContinentCode": { "type": "string" }, - "MessageType": { + "CountryCode": { "type": "string" }, - "SenderId": { + "SubdivisionCode": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Campaign.EventDimensions": { + "AWS::Route53::RecordSetGroup.RecordSet": { "additionalProperties": false, "properties": { - "Attributes": { - "type": "object" + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + "Comment": { + "type": "string" }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" + "Failover": { + "type": "string" }, - "MaximumDuration": { - "type": "number" + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" }, - "MessagesPerSecond": { - "type": "number" + "HealthCheckId": { + "type": "string" }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { + "HostedZoneId": { "type": "string" }, - "Body": { + "HostedZoneName": { "type": "string" }, - "ImageIconUrl": { + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { "type": "string" }, - "ImageSmallIconUrl": { + "Region": { "type": "string" }, - "ImageUrl": { + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { "type": "string" }, - "JsonBody": { + "TTL": { "type": "string" }, - "MediaUrl": { + "Type": { "type": "string" }, - "RawContent": { + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SilentPush": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TimeToLive": { - "type": "number" + "Metadata": { + "type": "object" }, - "Title": { + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], "type": "string" }, - "Url": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { + "AWS::Route53Resolver::ResolverEndpoint": { "additionalProperties": false, "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + "Metadata": { + "type": "object" }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], "type": "string" }, - "Value": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.QuietTime": { + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { "additionalProperties": false, "properties": { - "End": { + "Ip": { "type": "string" }, - "Start": { + "SubnetId": { "type": "string" } }, "required": [ - "End", - "Start" + "SubnetId" ], "type": "object" }, - "AWS::Pinpoint::Campaign.Schedule": { + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { "additionalProperties": false, "properties": { - "EndTime": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IsLocalTime": { - "type": "boolean" + "Metadata": { + "type": "object" }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" }, - "StartTime": { + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], "type": "string" }, - "TimeZone": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::Campaign.SetDimension": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { - "DimensionType": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + "Metadata": { + "type": "object" }, - "SizePercent": { - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" }, - "TreatmentDescription": { + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], "type": "string" }, - "TreatmentName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Pinpoint::EmailChannel": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63758,35 +82300,40 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "DomainName": { "type": "string" }, - "ConfigurationSet": { + "Name": { "type": "string" }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { + "ResolverEndpointId": { "type": "string" }, - "Identity": { + "RuleType": { "type": "string" }, - "RoleArn": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" } }, "required": [ - "ApplicationId", - "FromAddress", - "Identity" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailChannel" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -63805,7 +82352,22 @@ ], "type": "object" }, - "AWS::Pinpoint::EmailTemplate": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63837,37 +82399,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DefaultSubstitutions": { - "type": "string" - }, - "HtmlPart": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { + "Name": { "type": "string" }, - "TemplateName": { + "ResolverRuleId": { "type": "string" }, - "TextPart": { + "VPCId": { "type": "string" } }, "required": [ - "Subject", - "TemplateName" + "ResolverRuleId", + "VPCId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EmailTemplate" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -63886,7 +82436,7 @@ ], "type": "object" }, - "AWS::Pinpoint::EventStream": { + "AWS::S3::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63918,26 +82468,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { + "Bucket": { "type": "string" }, - "DestinationStreamArn": { + "Name": { "type": "string" }, - "RoleArn": { - "type": "string" + "Policy": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" } }, "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" + "Bucket" ], "type": "object" }, "Type": { "enum": [ - "AWS::Pinpoint::EventStream" + "AWS::S3::AccessPoint" ], "type": "string" }, @@ -63956,7 +82510,34 @@ ], "type": "object" }, - "AWS::Pinpoint::GCMChannel": { + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -63988,988 +82569,1058 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKey": { + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + }, + "AccessControl": { "type": "string" }, - "ApplicationId": { + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "type": "array" + }, + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" + }, + "BucketName": { "type": "string" }, - "Enabled": { + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + }, + "ObjectLockEnabled": { "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], + "Id": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MaxAge": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "AllowedMethods", + "AllowedOrigins" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate": { + "AWS::S3::Bucket.DataExport": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "OutputSchemaVersion": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Destination", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "AWS::S3::Bucket.DefaultRetention": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" + "Days": { + "type": "number" }, - "Body": { + "Mode": { "type": "string" }, - "MediaUrl": { + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { "type": "string" }, - "Sound": { + "BucketArn": { "type": "string" }, - "Title": { + "Format": { "type": "string" }, - "Url": { + "Prefix": { "type": "string" } }, + "required": [ + "BucketArn", + "Format" + ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "AWS::S3::Bucket.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Action": { + "ReplicaKmsKeyID": { "type": "string" - }, - "Body": { + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" }, - "ImageIconUrl": { + "Value": { "type": "string" - }, - "ImageUrl": { + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { "type": "string" }, - "SmallImageIconUrl": { + "Prefix": { "type": "string" }, - "Sound": { + "Status": { "type": "string" }, - "Title": { - "type": "string" + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" }, - "Url": { - "type": "string" + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" } }, + "required": [ + "Id", + "Status", + "Tierings" + ], "type": "object" }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "AWS::S3::Bucket.InventoryConfiguration": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" }, - "Body": { + "Enabled": { + "type": "boolean" + }, + "Id": { "type": "string" }, - "Sound": { + "IncludedObjectVersions": { "type": "string" }, - "Title": { + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { "type": "string" }, - "Url": { + "ScheduleFrequency": { "type": "string" } }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], "type": "object" }, - "AWS::Pinpoint::SMSChannel": { + "AWS::S3::Bucket.LambdaConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Event": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" }, - "required": [ - "ApplicationId" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], + "LogFilePrefix": { "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::Pinpoint::Segment": { + "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Id": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Prefix": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::S3::Bucket.NoncurrentVersionTransition": { + "additionalProperties": false, + "properties": { + "StorageClass": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TransitionInDays": { + "type": "number" } }, "required": [ - "Type", - "Properties" + "StorageClass", + "TransitionInDays" ], "type": "object" }, - "AWS::Pinpoint::Segment.AttributeDimension": { + "AWS::S3::Bucket.NotificationConfiguration": { "additionalProperties": false, "properties": { - "AttributeType": { - "type": "string" + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" }, - "Values": { + "QueueConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" }, "type": "array" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Behavior": { + "AWS::S3::Bucket.NotificationFilter": { "additionalProperties": false, "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" } }, + "required": [ + "S3Key" + ], "type": "object" }, - "AWS::Pinpoint::Segment.Coordinates": { + "AWS::S3::Bucket.ObjectLockConfiguration": { "additionalProperties": false, "properties": { - "Latitude": { - "type": "number" + "ObjectLockEnabled": { + "type": "string" }, - "Longitude": { - "type": "number" + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" } }, "required": [ - "Latitude", - "Longitude" + "Rules" ], "type": "object" }, - "AWS::Pinpoint::Segment.Demographic": { + "AWS::S3::Bucket.OwnershipControlsRule": { "additionalProperties": false, "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "BlockPublicPolicy": { + "type": "boolean" }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "IgnorePublicAcls": { + "type": "boolean" }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + "Queue": { + "type": "string" } }, + "required": [ + "Event", + "Queue" + ], "type": "object" }, - "AWS::Pinpoint::Segment.GPSPoint": { + "AWS::S3::Bucket.RedirectAllRequestsTo": { "additionalProperties": false, "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + "HostName": { + "type": "string" }, - "RangeInKilometers": { - "type": "number" + "Protocol": { + "type": "string" } }, "required": [ - "Coordinates", - "RangeInKilometers" + "HostName" ], "type": "object" }, - "AWS::Pinpoint::Segment.Groups": { + "AWS::S3::Bucket.RedirectRule": { "additionalProperties": false, "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "type": "array" + "HostName": { + "type": "string" }, - "SourceSegments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" - }, - "type": "array" + "HttpRedirectCode": { + "type": "string" }, - "SourceType": { + "Protocol": { "type": "string" }, - "Type": { + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { "type": "string" } }, "type": "object" }, - "AWS::Pinpoint::Segment.Location": { + "AWS::S3::Bucket.ReplicaModifications": { "additionalProperties": false, "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + "Status": { + "type": "string" } }, + "required": [ + "Status" + ], "type": "object" }, - "AWS::Pinpoint::Segment.Recency": { + "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Duration": { + "Role": { "type": "string" }, - "RecencyType": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" + }, + "type": "array" } }, "required": [ - "Duration", - "RecencyType" + "Role", + "Rules" ], "type": "object" }, - "AWS::Pinpoint::Segment.SegmentDimensions": { + "AWS::S3::Bucket.ReplicationDestination": { "additionalProperties": false, "properties": { - "Attributes": { - "type": "object" + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + "Account": { + "type": "string" }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + "Bucket": { + "type": "string" }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" }, "Metrics": { - "type": "object" + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" }, - "UserAttributes": { - "type": "object" + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { + "type": "string" } }, + "required": [ + "Bucket" + ], "type": "object" }, - "AWS::Pinpoint::Segment.SegmentGroups": { + "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" }, - "Include": { + "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" + }, + "Status": { "type": "string" } }, + "required": [ + "Destination", + "Status" + ], "type": "object" }, - "AWS::Pinpoint::Segment.SetDimension": { + "AWS::S3::Bucket.ReplicationRuleAndOperator": { "additionalProperties": false, "properties": { - "DimensionType": { + "Prefix": { "type": "string" }, - "Values": { + "TagFilters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" }, "type": "array" } }, "type": "object" }, - "AWS::Pinpoint::Segment.SourceSegments": { + "AWS::S3::Bucket.ReplicationRuleFilter": { "additionalProperties": false, "properties": { - "Id": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { "type": "string" }, - "Version": { + "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": [ - "Id" + "Minutes" ], "type": "object" }, - "AWS::Pinpoint::SmsTemplate": { + "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], - "type": "string" + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" } }, "required": [ - "Type", - "Properties" + "RedirectRule" ], "type": "object" }, - "AWS::Pinpoint::VoiceChannel": { + "AWS::S3::Bucket.RoutingRuleCondition": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], + "HttpErrorCodeReturnedEquals": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KeyPrefixEquals": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet": { + "AWS::S3::Bucket.Rule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExpirationInDays": { + "type": "number" }, - "Metadata": { - "type": "object" + "Id": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], + "Prefix": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "AWS::S3::Bucket.S3KeyFilter": { "additionalProperties": false, "properties": { - "SendingPoolName": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + }, + "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { "additionalProperties": false, "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" + "KMSMasterKeyID": { + "type": "string" + }, + "SSEAlgorithm": { + "type": "string" } }, + "required": [ + "SSEAlgorithm" + ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "AWS::S3::Bucket.ServerSideEncryptionRule": { "additionalProperties": false, "properties": { - "SendingEnabled": { + "BucketKeyEnabled": { "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" }, - "Value": { - "type": "string" + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "CustomRedirectDomain": { - "type": "string" + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "AWS::S3::Bucket.SseKmsEncryptedObjects": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Status": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::S3::Bucket.StorageClassAnalysis": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" } }, "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::S3::Bucket.TagFilter": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { + "Key": { "type": "string" }, - "DimensionValueSource": { + "Value": { "type": "string" } }, "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" + "Key", + "Value" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "AWS::S3::Bucket.Tiering": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + "AccessTier": { + "type": "string" }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + "Days": { + "type": "number" } }, "required": [ - "MatchingEventTypes" + "AccessTier", + "Days" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::S3::Bucket.TopicConfiguration": { "additionalProperties": false, "properties": { - "DeliveryStreamArn": { + "Event": { "type": "string" }, - "IamRoleArn": { + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Topic": { "type": "string" } }, "required": [ - "DeliveryStreamArn", - "IamRoleArn" + "Event", + "Topic" ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "AWS::S3::Bucket.Transition": { "additionalProperties": false, "properties": { - "ApplicationArn": { + "StorageClass": { + "type": "string" + }, + "TransitionDate": { "type": "string" + }, + "TransitionInDays": { + "type": "number" } }, + "required": [ + "StorageClass" + ], "type": "object" }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "AWS::S3::Bucket.VersioningConfiguration": { "additionalProperties": false, "properties": { - "TopicArn": { + "Status": { "type": "string" } }, "required": [ - "TopicArn" + "Status" ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool": { + "AWS::S3::Bucket.WebsiteConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "type": "string" + }, + "IndexDocument": { + "type": "string" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + }, + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65001,21 +83652,22 @@ "Properties": { "additionalProperties": false, "properties": { - "PoolName": { + "Bucket": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" + "PolicyDocument": { + "type": "object" } }, + "required": [ + "Bucket", + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" + "AWS::S3::BucketPolicy" ], "type": "string" }, @@ -65029,23 +83681,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity": { + "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65077,33 +83718,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "Name" + "StorageLensConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::PinpointEmail::Identity" + "AWS::S3::StorageLens" ], "type": "string" }, @@ -65122,204 +83754,194 @@ ], "type": "object" }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { + "AWS::S3::StorageLens.AccountLevel": { "additionalProperties": false, "properties": { - "BehaviorOnMxFailure": { - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "MailFromDomain": { - "type": "string" + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" } }, + "required": [ + "BucketLevel" + ], "type": "object" }, - "AWS::PinpointEmail::Identity.Tags": { + "AWS::S3::StorageLens.ActivityMetrics": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" + "IsEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::QLDB::Ledger": { + "AWS::S3::StorageLens.AwsOrg": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Arn": { "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::S3::StorageLens.BucketLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.BucketsAndRegions": { + "additionalProperties": false, + "properties": { + "Buckets": { + "items": { + "type": "string" }, - "required": [ - "PermissionsMode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" } }, "required": [ - "Type", - "Properties" + "S3BucketDestination" ], "type": "object" }, - "AWS::QLDB::Stream": { + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" + } + }, + "required": [ + "StorageMetrics" + ], + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + }, + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.S3BucketDestination": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Arn": { + "type": "string" }, - "Metadata": { - "type": "object" + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" + "Format": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], + "OutputSchemaVersion": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Prefix": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::QLDB::Stream.KinesisConfiguration": { + "AWS::S3::StorageLens.SelectionCriteria": { "additionalProperties": false, "properties": { - "AggregationEnabled": { + "Delimiter": { + "type": "string" + }, + "MaxDepth": { + "type": "number" + }, + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" + }, + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" + }, + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { + "type": "string" + }, + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { "type": "boolean" }, - "StreamArn": { + "StorageLensArn": { "type": "string" } }, + "required": [ + "AccountLevel", + "Id", + "IsEnabled" + ], "type": "object" }, - "AWS::RAM::ResourceShare": { + "AWS::S3Outposts::AccessPoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65351,39 +83973,29 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowExternalPrincipals": { - "type": "boolean" + "Bucket": { + "type": "string" }, "Name": { "type": "string" }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" + "Policy": { + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" } }, "required": [ - "Name" + "Bucket", + "Name", + "VpcConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::RAM::ResourceShare" + "AWS::S3Outposts::AccessPoint" ], "type": "string" }, @@ -65402,7 +84014,16 @@ ], "type": "object" }, - "AWS::RDS::DBCluster": { + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65429,131 +84050,36 @@ ] }, "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" - }, - "SnapshotIdentifier": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { "type": "string" }, - "SourceDBClusterIdentifier": { - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" }, - "SourceRegion": { + "OutpostId": { "type": "string" }, - "StorageEncrypted": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "Engine" + "BucketName", + "OutpostId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBCluster" + "AWS::S3Outposts::Bucket" ], "type": "string" }, @@ -65572,40 +84098,58 @@ ], "type": "object" }, - "AWS::RDS::DBCluster.DBClusterRole": { + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" + "DaysAfterInitiation": { + "type": "number" } }, "required": [ - "RoleArn" + "DaysAfterInitiation" ], "type": "object" }, - "AWS::RDS::DBCluster.ScalingConfiguration": { + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { "additionalProperties": false, "properties": { - "AutoPause": { - "type": "boolean" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" }, - "MaxCapacity": { - "type": "number" + "ExpirationDate": { + "type": "string" }, - "MinCapacity": { + "ExpirationInDays": { "type": "number" }, - "SecondsUntilAutoPause": { - "type": "number" + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::RDS::DBClusterParameterGroup": { + "AWS::S3Outposts::BucketPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65637,32 +84181,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Family": { + "Bucket": { "type": "string" }, - "Parameters": { + "PolicyDocument": { "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Description", - "Family", - "Parameters" + "Bucket", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBClusterParameterGroup" + "AWS::S3Outposts::BucketPolicy" ], "type": "string" }, @@ -65681,7 +84215,7 @@ ], "type": "object" }, - "AWS::RDS::DBInstance": { + "AWS::S3Outposts::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65713,189 +84247,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { + "OutpostId": { "type": "string" }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "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": { + "SecurityGroupId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timezone": { + "SubnetId": { "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "DBInstanceClass" + "OutpostId", + "SecurityGroupId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBInstance" + "AWS::S3Outposts::Endpoint" ], "type": "string" }, @@ -65914,35 +84285,77 @@ ], "type": "object" }, - "AWS::RDS::DBInstance.DBInstanceRole": { + "AWS::S3Outposts::Endpoint.NetworkInterface": { "additionalProperties": false, "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { + "NetworkInterfaceId": { "type": "string" } }, "required": [ - "FeatureName", - "RoleArn" + "NetworkInterfaceId" ], "type": "object" }, - "AWS::RDS::DBInstance.ProcessorFeature": { + "AWS::SDB::Domain": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { + "DependsOn": { + "anyOf": [ + { + "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" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SDB::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::RDS::DBParameterGroup": { + "AWS::SES::ConfigurationSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -65974,37 +84387,15 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Family": { + "Name": { "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" + "AWS::SES::ConfigurationSet" ], "type": "string" }, @@ -66018,12 +84409,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::DBProxy": { + "AWS::SES::ConfigurationSetEventDestination": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66055,61 +84445,159 @@ "Properties": { "additionalProperties": false, "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "DebugLogging": { - "type": "boolean" - }, - "EngineFamily": { + "ConfigurationSetName": { "type": "string" }, - "IdleClientTimeout": { - "type": "number" - }, - "RequireTLS": { - "type": "boolean" - }, - "RoleArn": { + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamARN": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamARN", + "IAMRoleARN" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { + { "items": { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + } }, "required": [ - "Auth", - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" + "Filter" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBProxy" + "AWS::SES::ReceiptFilter" ], "type": "string" }, @@ -66128,40 +84616,38 @@ ], "type": "object" }, - "AWS::RDS::DBProxy.AuthFormat": { + "AWS::SES::ReceiptFilter.Filter": { "additionalProperties": false, "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" }, - "UserName": { + "Name": { "type": "string" } }, + "required": [ + "IpFilter" + ], "type": "object" }, - "AWS::RDS::DBProxy.TagFormat": { + "AWS::SES::ReceiptFilter.IpFilter": { "additionalProperties": false, "properties": { - "Key": { + "Cidr": { "type": "string" }, - "Value": { + "Policy": { "type": "string" } }, + "required": [ + "Cidr", + "Policy" + ], "type": "object" }, - "AWS::RDS::DBProxyTargetGroup": { + "AWS::SES::ReceiptRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66193,37 +84679,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBProxyName": { + "After": { "type": "string" }, - "TargetGroupName": { + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + }, + "RuleSetName": { "type": "string" } }, "required": [ - "DBProxyName", - "TargetGroupName" + "Rule", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBProxyTargetGroup" + "AWS::SES::ReceiptRule" ], "type": "string" }, @@ -66242,31 +84716,187 @@ ], "type": "object" }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "AWS::SES::ReceiptRule.Action": { "additionalProperties": false, "properties": { - "ConnectionBorrowTimeout": { - "type": "number" + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" }, - "InitQuery": { + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { "type": "string" }, - "MaxConnectionsPercent": { - "type": "number" + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.BounceAction": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" }, - "MaxIdleConnectionsPercent": { - "type": "number" + "Sender": { + "type": "string" }, - "SessionPinningFilters": { + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Message", + "Sender", + "SmtpReplyCode" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Recipients": { "items": { "type": "string" }, "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" } }, "type": "object" }, - "AWS::RDS::DBSecurityGroup": { + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66298,34 +84928,15 @@ "Properties": { "additionalProperties": false, "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { + "RuleSetName": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBSecurityGroup" + "AWS::SES::ReceiptRuleSet" ], "type": "string" }, @@ -66339,30 +84950,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { + "AWS::SES::Template": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66394,30 +84986,15 @@ "Properties": { "additionalProperties": false, "properties": { - "CIDRIP": { - "type": "string" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" } }, - "required": [ - "DBSecurityGroupName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBSecurityGroupIngress" + "AWS::SES::Template" ], "type": "string" }, @@ -66431,12 +85008,29 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::DBSubnetGroup": { + "AWS::SES::Template.Template": { + "additionalProperties": false, + "properties": { + "HtmlPart": { + "type": "string" + }, + "SubjectPart": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SNS::Subscription": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66468,34 +85062,43 @@ "Properties": { "additionalProperties": false, "properties": { - "DBSubnetGroupDescription": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { "type": "string" }, - "DBSubnetGroupName": { + "FilterPolicy": { + "type": "object" + }, + "Protocol": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "RawMessageDelivery": { + "type": "boolean" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" } }, "required": [ - "DBSubnetGroupDescription", - "SubnetIds" + "Protocol", + "TopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::DBSubnetGroup" + "AWS::SNS::Subscription" ], "type": "string" }, @@ -66514,7 +85117,7 @@ ], "type": "object" }, - "AWS::RDS::EventSubscription": { + "AWS::SNS::Topic": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66546,36 +85149,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { + "ContentBasedDeduplication": { "type": "boolean" }, - "EventCategories": { + "DisplayName": { + "type": "string" + }, + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" }, "type": "array" }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "SourceType": { + "TopicName": { "type": "string" } }, - "required": [ - "SnsTopicArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::EventSubscription" + "AWS::SNS::Topic" ], "type": "string" }, @@ -66589,12 +85195,27 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RDS::OptionGroup": { + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66626,39 +85247,25 @@ "Properties": { "additionalProperties": false, "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" + "PolicyDocument": { + "type": "object" }, - "Tags": { + "Topics": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" } }, "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" + "PolicyDocument", + "Topics" ], "type": "object" }, "Type": { "enum": [ - "AWS::RDS::OptionGroup" + "AWS::SNS::TopicPolicy" ], "type": "string" }, @@ -66673,59 +85280,11 @@ }, "required": [ "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, + "Properties" + ], "type": "object" }, - "AWS::Redshift::Cluster": { + "AWS::SQS::Queue": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66757,92 +85316,35 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowVersionUpgrade": { + "ContentBasedDeduplication": { "type": "boolean" }, - "AutomatedSnapshotRetentionPeriod": { + "DelaySeconds": { "type": "number" }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { + "FifoQueue": { "type": "boolean" }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" + "KmsDataKeyReusePeriodSeconds": { + "type": "number" }, - "NodeType": { + "KmsMasterKeyId": { "type": "string" }, - "NumberOfNodes": { + "MaximumMessageSize": { "type": "number" }, - "OwnerAccount": { - "type": "string" - }, - "Port": { + "MessageRetentionPeriod": { "type": "number" }, - "PreferredMaintenanceWindow": { + "QueueName": { "type": "string" }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" + "ReceiveMessageWaitTimeSeconds": { + "type": "number" }, - "SnapshotIdentifier": { - "type": "string" + "RedrivePolicy": { + "type": "object" }, "Tags": { "items": { @@ -66850,25 +85352,15 @@ }, "type": "array" }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "VisibilityTimeout": { + "type": "number" } }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::Cluster" + "AWS::SQS::Queue" ], "type": "string" }, @@ -66882,27 +85374,80 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Redshift::Cluster.LoggingProperties": { + "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { - "BucketName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3KeyPrefix": { + "DependsOn": { + "anyOf": [ + { + "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" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup": { + "AWS::SSM::Association": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -66934,34 +85479,69 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { "type": "string" }, - "ParameterGroupFamily": { + "AutomationTargetParameterName": { + "type": "string" + }, + "ComplianceSeverity": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { "type": "string" }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + }, "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } }, - "type": "array" + "type": "object" }, - "Tags": { + "ScheduleExpression": { + "type": "string" + }, + "SyncCompliance": { + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::Association.Target" }, "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" } }, "required": [ - "Description", - "ParameterGroupFamily" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterParameterGroup" + "AWS::SSM::Association" ], "type": "string" }, @@ -66980,23 +85560,62 @@ ], "type": "object" }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { + "AWS::SSM::Association.InstanceAssociationOutputLocation": { "additionalProperties": false, "properties": { - "ParameterName": { + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.ParameterValues": { + "additionalProperties": false, + "properties": { + "ParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { "type": "string" }, - "ParameterValue": { + "OutputS3KeyPrefix": { + "type": "string" + }, + "OutputS3Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "ParameterName", - "ParameterValue" + "Key", + "Values" ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroup": { + "AWS::SSM::Document": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67028,7 +85647,13 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Content": { + "type": "object" + }, + "DocumentType": { + "type": "string" + }, + "Name": { "type": "string" }, "Tags": { @@ -67039,13 +85664,13 @@ } }, "required": [ - "Description" + "Content" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSecurityGroup" + "AWS::SSM::Document" ], "type": "string" }, @@ -67064,7 +85689,7 @@ ], "type": "object" }, - "AWS::Redshift::ClusterSecurityGroupIngress": { + "AWS::SSM::MaintenanceWindow": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67096,27 +85721,55 @@ "Properties": { "additionalProperties": false, "properties": { - "CIDRIP": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { "type": "string" }, - "ClusterSecurityGroupName": { + "Duration": { + "type": "number" + }, + "EndDate": { "type": "string" }, - "EC2SecurityGroupName": { + "Name": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ClusterSecurityGroupName" + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" + "AWS::SSM::MaintenanceWindow" ], "type": "string" }, @@ -67135,7 +85788,7 @@ ], "type": "object" }, - "AWS::Redshift::ClusterSubnetGroup": { + "AWS::SSM::MaintenanceWindowTarget": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67170,28 +85823,35 @@ "Description": { "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "type": "string" }, - "Tags": { + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" }, "type": "array" + }, + "WindowId": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "ResourceType", + "Targets", + "WindowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Redshift::ClusterSubnetGroup" + "AWS::SSM::MaintenanceWindowTarget" ], "type": "string" }, @@ -67210,7 +85870,25 @@ ], "type": "object" }, - "AWS::ResourceGroups::Group": { + "AWS::SSM::MaintenanceWindowTarget.Targets": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67245,27 +85923,57 @@ "Description": { "type": "string" }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, "Name": { "type": "string" }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + "Priority": { + "type": "number" }, - "Tags": { + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" }, "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" } }, "required": [ - "Name" + "Priority", + "TaskArn", + "TaskType", + "WindowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceGroups::Group" + "AWS::SSM::MaintenanceWindowTask" ], "type": "string" }, @@ -67284,40 +85992,119 @@ ], "type": "object" }, - "AWS::ResourceGroups::Group.Query": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" + "Region": { + "type": "string" }, - "StackIdentifier": { + "S3Bucket": { "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" } }, "type": "object" }, - "AWS::ResourceGroups::Group.ResourceQuery": { + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { "additionalProperties": false, "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + "NotificationArn": { + "type": "string" }, - "Type": { + "NotificationEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NotificationType": { "type": "string" } }, + "required": [ + "NotificationArn" + ], "type": "object" }, - "AWS::ResourceGroups::Group.TagFilter": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { "Key": { @@ -67330,9 +86117,30 @@ "type": "array" } }, + "required": [ + "Key" + ], "type": "object" }, - "AWS::RoboMaker::Fleet": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67364,18 +86172,43 @@ "Properties": { "additionalProperties": false, "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, "Name": { "type": "string" }, + "Policies": { + "type": "string" + }, "Tags": { "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Fleet" + "AWS::SSM::Parameter" ], "type": "string" }, @@ -67389,11 +86222,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::RoboMaker::Robot": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67425,31 +86259,69 @@ "Properties": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" }, - "Fleet": { + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { "type": "string" }, - "GreengrassGroupId": { + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { "type": "string" }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, "Name": { "type": "string" }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, "Tags": { - "type": "object" + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Architecture", - "GreengrassGroupId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Robot" + "AWS::SSM::PatchBaseline" ], "type": "string" }, @@ -67468,7 +86340,90 @@ ], "type": "object" }, - "AWS::RoboMaker::RobotApplication": { + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchSource": { + "additionalProperties": false, + "properties": { + "Configuration": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::ResourceDataSync": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67500,34 +86455,42 @@ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { + "BucketName": { "type": "string" }, - "Name": { + "BucketPrefix": { "type": "string" }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + "BucketRegion": { + "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" + "KMSKeyArn": { + "type": "string" }, - "Tags": { - "type": "object" + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" } }, "required": [ - "RobotSoftwareSuite", - "Sources" + "SyncName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::SSM::ResourceDataSync" ], "type": "string" }, @@ -67546,43 +86509,76 @@ ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { "additionalProperties": false, "properties": { - "Name": { + "OrganizationSourceType": { "type": "string" }, - "Version": { - "type": "string" + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Name", - "Version" + "OrganizationSourceType" ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { + "AWS::SSM::ResourceDataSync.S3Destination": { "additionalProperties": false, "properties": { - "Architecture": { + "BucketName": { "type": "string" }, - "S3Bucket": { + "BucketPrefix": { "type": "string" }, - "S3Key": { + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { "type": "string" } }, "required": [ - "Architecture", - "S3Bucket", - "S3Key" + "BucketName", + "BucketRegion", + "SyncFormat" ], "type": "object" }, - "AWS::RoboMaker::RobotApplicationVersion": { + "AWS::SSM::ResourceDataSync.SyncSource": { + "additionalProperties": false, + "properties": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceRegions", + "SourceType" + ], + "type": "object" + }, + "AWS::SSO::Assignment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67614,21 +86610,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Application": { + "InstanceArn": { "type": "string" }, - "CurrentRevisionId": { + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { "type": "string" } }, "required": [ - "Application" + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::SSO::Assignment" ], "type": "string" }, @@ -67647,7 +86660,7 @@ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67679,42 +86692,24 @@ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { + "AccessControlAttributes": { "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" }, "type": "array" }, - "Tags": { - "type": "object" + "InstanceArn": { + "type": "string" } }, "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" + "InstanceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::SSO::InstanceAccessControlAttributeConfiguration" ], "type": "string" }, @@ -67733,75 +86728,47 @@ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { "additionalProperties": false, "properties": { - "Name": { + "Key": { "type": "string" }, - "Version": { - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" } }, "required": [ - "Name", - "Version" + "Key", + "Value" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" + "Source": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList" } }, "required": [ - "Name", - "Version" + "Source" ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValueSourceList": { "additionalProperties": false, "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" + "AccessControlAttributeValueSourceList": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplicationVersion": { + "AWS::SSO::PermissionSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67833,21 +86800,46 @@ "Properties": { "additionalProperties": false, "properties": { - "Application": { + "Description": { "type": "string" }, - "CurrentRevisionId": { + "InlinePolicy": { + "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Application" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" + "AWS::SSO::PermissionSet" ], "type": "string" }, @@ -67866,7 +86858,7 @@ ], "type": "object" }, - "AWS::Route53::HealthCheck": { + "AWS::SageMaker::App": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67898,24 +86890,39 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckConfig": { - "type": "object" + "AppName": { + "type": "string" }, - "HealthCheckTags": { + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserProfileName": { + "type": "string" } }, "required": [ - "HealthCheckConfig" + "AppName", + "AppType", + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HealthCheck" + "AWS::SageMaker::App" ], "type": "string" }, @@ -67934,23 +86941,22 @@ ], "type": "object" }, - "AWS::Route53::HealthCheck.HealthCheckTag": { + "AWS::SageMaker::App.ResourceSpec": { "additionalProperties": false, "properties": { - "Key": { + "InstanceType": { "type": "string" }, - "Value": { + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::Route53::HostedZone": { + "AWS::SageMaker::AppImageConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -67982,36 +86988,27 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { + "AppImageConfigName": { "type": "string" }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" }, - "VPCs": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "Name" + "AppImageConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HostedZone" + "AWS::SageMaker::AppImageConfig" ], "type": "string" }, @@ -68030,60 +87027,55 @@ ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" + "DefaultGid": { + "type": "number" }, - "Value": { + "DefaultUid": { + "type": "number" + }, + "MountPath": { "type": "string" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { "additionalProperties": false, "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" } }, "required": [ - "CloudWatchLogsLogGroupArn" + "KernelSpecs" ], "type": "object" }, - "AWS::Route53::HostedZone.VPC": { + "AWS::SageMaker::AppImageConfig.KernelSpec": { "additionalProperties": false, "properties": { - "VPCId": { + "DisplayName": { "type": "string" }, - "VPCRegion": { + "Name": { "type": "string" } }, "required": [ - "VPCId", - "VPCRegion" + "Name" ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::SageMaker::CodeRepository": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68115,64 +87107,21 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "CodeRepositoryName": { "type": "string" }, - "Weight": { - "type": "number" + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" } }, "required": [ - "Name", - "Type" + "GitConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::SageMaker::CodeRepository" ], "type": "string" }, @@ -68191,41 +87140,25 @@ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::SageMaker::CodeRepository.GitConfig": { "additionalProperties": false, "properties": { - "DNSName": { + "Branch": { "type": "string" }, - "EvaluateTargetHealth": { - "type": "boolean" + "RepositoryUrl": { + "type": "string" }, - "HostedZoneId": { + "SecretArn": { "type": "string" } }, "required": [ - "DNSName", - "HostedZoneId" + "RepositoryUrl" ], "type": "object" }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { + "AWS::SageMaker::DataQualityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68257,27 +87190,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" }, - "HostedZoneId": { + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { "type": "string" }, - "HostedZoneName": { + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { "type": "string" }, - "RecordSets": { + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + "$ref": "#/definitions/Tag" }, "type": "array" } }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::SageMaker::DataQualityJobDefinition" ], "type": "string" }, @@ -68291,103 +87249,250 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" + "InstanceCount": { + "type": "number" }, - "EvaluateTargetHealth": { - "type": "boolean" + "InstanceType": { + "type": "string" }, - "HostedZoneId": { + "VolumeKmsKeyId": { "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "DNSName", - "HostedZoneId" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "ContinentCode": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { "type": "string" }, - "CountryCode": { + "PostAnalyticsProcessorSourceUri": { "type": "string" }, - "SubdivisionCode": { + "RecordPreprocessorSourceUri": { "type": "string" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { + "BaseliningJobName": { "type": "string" }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" }, - "HealthCheckId": { + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { "type": "string" }, - "HostedZoneId": { + "LocalPath": { "type": "string" }, - "HostedZoneName": { + "S3DataDistributionType": { "type": "string" }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { + "S3InputMode": { "type": "string" - }, - "Region": { + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { "type": "string" }, - "ResourceRecords": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" }, "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "SetIdentifier": { - "type": "string" + "EnableNetworkIsolation": { + "type": "boolean" }, - "TTL": { + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { "type": "string" }, - "Type": { + "S3UploadMode": { "type": "string" }, - "Weight": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { "type": "number" } }, "required": [ - "Name", - "Type" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::Device": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68419,24 +87524,12 @@ "Properties": { "additionalProperties": false, "properties": { - "Direction": { - "type": "string" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" + "Device": { + "type": "object" }, - "Name": { + "DeviceFleetName": { "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -68445,15 +87538,13 @@ } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DeviceFleetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::SageMaker::Device" ], "type": "string" }, @@ -68472,22 +87563,25 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::SageMaker::Device.Device": { "additionalProperties": false, "properties": { - "Ip": { + "Description": { "type": "string" }, - "SubnetId": { + "DeviceName": { + "type": "string" + }, + "IotThingName": { "type": "string" } }, "required": [ - "SubnetId" + "DeviceName" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::SageMaker::DeviceFleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68519,18 +87613,35 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Description": { "type": "string" }, - "Name": { + "DeviceFleetName": { + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::SageMaker::DeviceFleet" ], "type": "string" }, @@ -68544,72 +87655,27 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResolverQueryLogConfigId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - ], + "KmsKeyId": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3OutputLocation": { "type": "string" } }, "required": [ - "Type" + "S3OutputLocation" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::SageMaker::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68641,40 +87707,49 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { + "AppNetworkAccessType": { "type": "string" }, - "Name": { + "AuthMode": { "type": "string" }, - "ResolverEndpointId": { + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { "type": "string" }, - "RuleType": { + "KmsKeyId": { "type": "string" }, - "Tags": { + "SubnetIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" }, - "TargetIps": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcId": { + "type": "string" } }, "required": [ + "AuthMode", + "DefaultUserSettings", "DomainName", - "RuleType" + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::SageMaker::Domain" ], "type": "string" }, @@ -68687,28 +87762,110 @@ "type": "string" } }, - "required": [ - "Type", - "Properties" - ], + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { - "Ip": { + "ExecutionRole": { "type": "string" }, - "Port": { - "type": "string" + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" } }, - "required": [ - "Ip" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::SageMaker::Endpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68740,25 +87897,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" }, - "ResolverRuleId": { + "EndpointConfigName": { "type": "string" }, - "VPCId": { + "EndpointName": { "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ResolverRuleId", - "VPCId" + "EndpointConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::SageMaker::Endpoint" ], "type": "string" }, @@ -68777,7 +87948,110 @@ ], "type": "object" }, - "AWS::S3::AccessPoint": { + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68809,39 +88083,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "CreationDate": { - "type": "string" + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, - "Name": { + "EndpointConfigName": { "type": "string" }, - "NetworkOrigin": { + "KmsKeyId": { "type": "string" }, - "Policy": { - "type": "object" - }, - "PolicyStatus": { - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Bucket" + "ProductionVariants" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessPoint" + "AWS::SageMaker::EndpointConfig" ], "type": "string" }, @@ -68860,34 +88131,100 @@ ], "type": "object" }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" }, - "BlockPublicPolicy": { - "type": "boolean" + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" }, - "IgnorePublicAcls": { - "type": "boolean" + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" }, - "RestrictPublicBuckets": { + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" } }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], "type": "object" }, - "AWS::S3::AccessPoint.VpcConfiguration": { + "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { - "VpcId": { + "AcceleratorType": { + "type": "string" + }, + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "VariantName": { "type": "string" } }, + "required": [ + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" + ], "type": "object" }, - "AWS::S3::Bucket": { + "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -68919,78 +88256,51 @@ "Properties": { "additionalProperties": false, "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" - }, - "AccessControl": { + "Description": { "type": "string" }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { + "EventTimeFeatureName": { "type": "string" }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { + "FeatureDefinitions": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" }, "type": "array" }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + "FeatureGroupName": { + "type": "string" }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + "OfflineStoreConfig": { + "type": "object" }, - "ObjectLockEnabled": { - "type": "boolean" + "OnlineStoreConfig": { + "type": "object" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + "RecordIdentifierFeatureName": { + "type": "string" }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + "RoleArn": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" } }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::Bucket" + "AWS::SageMaker::FeatureGroup" ], "type": "string" }, @@ -69004,874 +88314,1005 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.AnalyticsConfiguration": { + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Prefix": { + "FeatureName": { "type": "string" }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Id": { + "FeatureType": { "type": "string" - }, - "MaxAge": { - "type": "number" } }, "required": [ - "AllowedMethods", - "AllowedOrigins" + "FeatureName", + "FeatureType" ], "type": "object" }, - "AWS::S3::Bucket.DataExport": { + "AWS::SageMaker::Image": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "OutputSchemaVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "type": "number" }, - "Mode": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" + "Metadata": { + "type": "object" }, - "BucketArn": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "type": "string" + }, + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" }, - "Format": { + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], "type": "string" }, - "Prefix": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "BucketArn", - "Format" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.EncryptionConfiguration": { + "AWS::SageMaker::ImageVersion": { "additionalProperties": false, "properties": { - "ReplicaKmsKeyID": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BaseImage": { + "type": "string" + }, + "ImageName": { + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.InventoryConfiguration": { + "AWS::SageMaker::Model": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IncludedObjectVersions": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "OptionalFields": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + } }, - "type": "array" + "required": [ + "ExecutionRoleArn" + ], + "type": "object" }, - "Prefix": { + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], "type": "string" }, - "ScheduleFrequency": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.LambdaConfiguration": { + "AWS::SageMaker::Model.ContainerDefinition": { "additionalProperties": false, "properties": { - "Event": { + "ContainerHostname": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "Environment": { + "type": "object" }, - "Function": { + "Image": { "type": "string" - } - }, - "required": [ - "Event", - "Function" - ], - "type": "object" - }, - "AWS::S3::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationBucketName": { + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { "type": "string" }, - "LogFilePrefix": { + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" } }, "type": "object" }, - "AWS::S3::Bucket.Metrics": { + "AWS::SageMaker::Model.ImageConfig": { "additionalProperties": false, "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - }, - "Status": { + "RepositoryAccessMode": { "type": "string" } }, "required": [ - "Status" + "RepositoryAccessMode" ], "type": "object" }, - "AWS::S3::Bucket.MetricsConfiguration": { + "AWS::SageMaker::Model.InferenceExecutionConfig": { "additionalProperties": false, "properties": { - "Id": { - "type": "string" - }, - "Prefix": { + "Mode": { "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" } }, "required": [ - "Id" + "Mode" ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { + "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { - "StorageClass": { + "ModelCacheSetting": { "type": "string" - }, - "TransitionInDays": { - "type": "number" } }, - "required": [ - "StorageClass", - "TransitionInDays" - ], "type": "object" }, - "AWS::S3::Bucket.NotificationConfiguration": { + "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" - }, - "QueueConfigurations": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + "type": "string" }, "type": "array" }, - "TopicConfigurations": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + "type": "string" }, "type": "array" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::S3::Bucket.NotificationFilter": { + "AWS::SageMaker::ModelBiasJobDefinition": { "additionalProperties": false, "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" + }, + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" + }, + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" + }, + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" + }, + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelBiasJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "S3Key" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockConfiguration": { + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "ObjectLockEnabled": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockRule": { + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + "S3Uri": { + "type": "string" } }, "type": "object" }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "type": "boolean" + "EndTimeOffset": { + "type": "string" }, - "BlockPublicPolicy": { - "type": "boolean" + "EndpointName": { + "type": "string" }, - "IgnorePublicAcls": { - "type": "boolean" + "FeaturesAttribute": { + "type": "string" }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { + "InferenceAttribute": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "LocalPath": { + "type": "string" }, - "Queue": { + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, "required": [ - "Event", - "Queue" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { - "HostName": { + "ConfigUri": { "type": "string" }, - "Protocol": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { "type": "string" } }, "required": [ - "HostName" + "ConfigUri", + "ImageUri" ], "type": "object" }, - "AWS::S3::Bucket.RedirectRule": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { "additionalProperties": false, "properties": { - "HostName": { - "type": "string" - }, - "HttpRedirectCode": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ReplaceKeyPrefixWith": { + "BaseliningJobName": { "type": "string" }, - "ReplaceKeyWith": { - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationConfiguration": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { "additionalProperties": false, "properties": { - "Role": { - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" } }, "required": [ - "Role", - "Rules" + "EndpointInput", + "GroundTruthS3Input" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationDestination": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { "additionalProperties": false, "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { - "type": "string" - }, - "Bucket": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" - }, - "StorageClass": { + "S3Uri": { "type": "string" } }, "required": [ - "Bucket" + "S3Uri" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRule": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { "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" - }, - "Status": { - "type": "string" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" } }, "required": [ - "Destination", - "Status" + "S3Output" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "Prefix": { + "KmsKeyId": { "type": "string" }, - "TagFilters": { + "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" }, "type": "array" } }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleFilter": { + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Prefix": { - "type": "string" + "EnableNetworkIsolation": { + "type": "boolean" }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationTime": { + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { "additionalProperties": false, "properties": { - "Status": { + "LocalPath": { "type": "string" }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" } }, "required": [ - "Status", - "Time" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationTimeValue": { + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { - "Minutes": { + "MaxRuntimeInSeconds": { "type": "number" } }, "required": [ - "Minutes" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::S3::Bucket.RoutingRule": { + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "RedirectRule" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::S3::Bucket.RoutingRuleCondition": { + "AWS::SageMaker::ModelExplainabilityJobDefinition": { "additionalProperties": false, "properties": { - "HttpErrorCodeReturnedEquals": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "KeyPrefixEquals": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::S3::Bucket.Rule": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + "InstanceCount": { + "type": "number" }, - "ExpirationDate": { + "InstanceType": { "type": "string" }, - "ExpirationInDays": { - "type": "number" - }, - "Id": { + "VolumeKmsKeyId": { "type": "string" }, - "NoncurrentVersionExpirationInDays": { + "VolumeSizeInGB": { "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "type": "array" + "FeaturesAttribute": { + "type": "string" }, - "Prefix": { + "InferenceAttribute": { "type": "string" }, - "Status": { + "LocalPath": { "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" + "ProbabilityAttribute": { + "type": "string" }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" + "S3DataDistributionType": { + "type": "string" }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" + "S3InputMode": { + "type": "string" } }, "required": [ - "Status" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::S3::Bucket.S3KeyFilter": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], + "properties": {}, "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { + "ConfigUri": { "type": "string" }, - "SSEAlgorithm": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { "type": "string" } }, "required": [ - "SSEAlgorithm" + "ConfigUri", + "ImageUri" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { "additionalProperties": false, "properties": { - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::S3::Bucket.SourceSelectionCriteria": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { "additionalProperties": false, "properties": { - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" } }, + "required": [ + "EndpointInput" + ], "type": "object" }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "Status": { - "type": "string" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" } }, "required": [ - "Status" + "S3Output" ], "type": "object" }, - "AWS::S3::Bucket.StorageClassAnalysis": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" } }, + "required": [ + "MonitoringOutputs" + ], "type": "object" }, - "AWS::S3::Bucket.TagFilter": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" } }, "required": [ - "Key", - "Value" + "ClusterConfig" ], "type": "object" }, - "AWS::S3::Bucket.TopicConfiguration": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "Event": { - "type": "string" + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + "EnableNetworkIsolation": { + "type": "boolean" }, - "Topic": { - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" } }, - "required": [ - "Event", - "Topic" - ], "type": "object" }, - "AWS::S3::Bucket.Transition": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { "additionalProperties": false, "properties": { - "StorageClass": { + "LocalPath": { "type": "string" }, - "TransitionDate": { + "S3UploadMode": { "type": "string" }, - "TransitionInDays": { - "type": "number" + "S3Uri": { + "type": "string" } }, "required": [ - "StorageClass" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::S3::Bucket.VersioningConfiguration": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { - "Status": { - "type": "string" + "MaxRuntimeInSeconds": { + "type": "number" } }, "required": [ - "Status" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::S3::Bucket.WebsiteConfiguration": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "RoutingRules": { + "Subnets": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + "type": "string" }, "type": "array" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::S3::BucketPolicy": { + "AWS::SageMaker::ModelPackageGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69903,22 +89344,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { + "ModelPackageGroupDescription": { "type": "string" }, - "PolicyDocument": { + "ModelPackageGroupName": { + "type": "string" + }, + "ModelPackageGroupPolicy": { "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Bucket", - "PolicyDocument" + "ModelPackageGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::BucketPolicy" + "AWS::SageMaker::ModelPackageGroup" ], "type": "string" }, @@ -69937,7 +89386,7 @@ ], "type": "object" }, - "AWS::SDB::Domain": { + "AWS::SageMaker::ModelQualityJobDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -69969,15 +89418,52 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" + }, + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" + }, + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" + }, + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" + }, + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SDB::Domain" + "AWS::SageMaker::ModelQualityJobDefinition" ], "type": "string" }, @@ -69991,303 +89477,273 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet": { + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "VolumeKmsKeyId": { + "type": "string" }, - "Metadata": { - "type": "object" + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" + "EndpointName": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSet" - ], + "InferenceAttribute": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { "type": "string" } }, "required": [ - "Type" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "type": "object" + "ImageUri": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSetEventDestination" - ], + "PostAnalyticsProcessorSourceUri": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ProblemType": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { "type": "string" } }, "required": [ - "Type", - "Properties" + "ImageUri", + "ProblemType" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { "additionalProperties": false, "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" } }, "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { "additionalProperties": false, "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" }, - "DimensionValueSource": { + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { "type": "string" } }, "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" + "S3Uri" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" }, - "MatchingEventTypes": { + "MonitoringOutputs": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" }, "type": "array" - }, - "Name": { - "type": "string" } }, "required": [ - "MatchingEventTypes" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" } }, "required": [ - "DeliveryStreamARN", - "IAMRoleARN" + "ClusterConfig" ], "type": "object" }, - "AWS::SES::ReceiptFilter": { + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Metadata": { - "type": "object" + "EnableNetworkIsolation": { + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" - } - }, - "required": [ - "Filter" - ], - "type": "object" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SES::ReceiptFilter" - ], + "S3UploadMode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Uri": { "type": "string" } }, "required": [ - "Type", - "Properties" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SES::ReceiptFilter.Filter": { + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { - "type": "string" + "MaxRuntimeInSeconds": { + "type": "number" } }, "required": [ - "IpFilter" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SES::ReceiptFilter.IpFilter": { + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { - "Cidr": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "Policy": { - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Cidr", - "Policy" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SES::ReceiptRule": { + "AWS::SageMaker::MonitoringSchedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -70319,25 +89775,40 @@ "Properties": { "additionalProperties": false, "properties": { - "After": { + "EndpointName": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + "FailureReason": { + "type": "string" }, - "RuleSetName": { + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Rule", - "RuleSetName" + "MonitoringScheduleConfig", + "MonitoringScheduleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRule" + "AWS::SageMaker::MonitoringSchedule" ], "type": "string" }, @@ -70356,669 +89827,358 @@ ], "type": "object" }, - "AWS::SES::ReceiptRule.Action": { + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { "additionalProperties": false, "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" } }, "type": "object" }, - "AWS::SES::ReceiptRule.AddHeaderAction": { + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { "additionalProperties": false, "properties": { - "HeaderName": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { "type": "string" }, - "HeaderValue": { + "VolumeKmsKeyId": { "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" } }, "required": [ - "HeaderName", - "HeaderValue" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SES::ReceiptRule.BounceAction": { + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { "additionalProperties": false, "properties": { - "Message": { - "type": "string" - }, - "Sender": { - "type": "string" - }, - "SmtpReplyCode": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "TopicArn": { + "S3Uri": { "type": "string" } }, - "required": [ - "Message", - "Sender", - "SmtpReplyCode" - ], "type": "object" }, - "AWS::SES::ReceiptRule.LambdaAction": { + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { "additionalProperties": false, "properties": { - "FunctionArn": { + "EndpointName": { "type": "string" }, - "InvocationType": { + "LocalPath": { "type": "string" }, - "TopicArn": { + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { "type": "string" } }, "required": [ - "FunctionArn" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SES::ReceiptRule.Rule": { + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { "additionalProperties": false, "properties": { - "Actions": { + "ContainerArguments": { "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + "type": "string" }, "type": "array" }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { + "ContainerEntrypoint": { "items": { "type": "string" }, "type": "array" }, - "ScanEnabled": { - "type": "boolean" + "ImageUri": { + "type": "string" }, - "TlsPolicy": { + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { "type": "string" } }, + "required": [ + "ImageUri" + ], "type": "object" }, - "AWS::SES::ReceiptRule.S3Action": { + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { "additionalProperties": false, "properties": { - "BucketName": { + "CreationTime": { "type": "string" }, - "KmsKeyArn": { + "EndpointName": { "type": "string" }, - "ObjectKeyPrefix": { + "FailureReason": { "type": "string" }, - "TopicArn": { + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { "type": "string" } }, "required": [ - "BucketName" + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" ], "type": "object" }, - "AWS::SES::ReceiptRule.SNSAction": { + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { "additionalProperties": false, "properties": { - "Encoding": { - "type": "string" - }, - "TopicArn": { - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" } }, + "required": [ + "EndpointInput" + ], "type": "object" }, - "AWS::SES::ReceiptRule.StopAction": { + "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { "additionalProperties": false, "properties": { - "Scope": { - "type": "string" + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" }, - "TopicArn": { + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" } }, "required": [ - "Scope" + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" ], "type": "object" }, - "AWS::SES::ReceiptRule.WorkmailAction": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { "additionalProperties": false, "properties": { - "OrganizationArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" } }, "required": [ - "OrganizationArn" + "S3Output" ], "type": "object" }, - "AWS::SES::ReceiptRuleSet": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KmsKeyId": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "type": "string" - } + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SES::Template": { + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" } }, "required": [ - "Type" + "ClusterConfig" ], "type": "object" }, - "AWS::SES::Template.Template": { + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { "additionalProperties": false, "properties": { - "HtmlPart": { - "type": "string" + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" }, - "SubjectPart": { + "MonitoringJobDefinitionName": { "type": "string" }, - "TemplateName": { + "MonitoringType": { "type": "string" }, - "TextPart": { - "type": "string" + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" } }, "type": "object" }, - "AWS::SNS::Subscription": { + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" + "EnableInterContainerTrafficEncryption": { + "type": "boolean" }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], - "type": "string" + "EnableNetworkIsolation": { + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SNS::Topic": { + "AWS::SageMaker::MonitoringSchedule.S3Output": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "LocalPath": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { - "type": "string" - }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Topic" - ], + "S3UploadMode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Uri": { "type": "string" } }, "required": [ - "Type" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SNS::Topic.Subscription": { + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string" - }, - "Protocol": { + "ScheduleExpression": { "type": "string" } }, "required": [ - "Endpoint", - "Protocol" + "ScheduleExpression" ], "type": "object" }, - "AWS::SNS::TopicPolicy": { + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Topics" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::TopicPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3Uri": { "type": "string" } }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, "required": [ - "Type", - "Properties" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SQS::Queue": { + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { - "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" - } + "SecurityGroupIds": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::Queue" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type" + "SecurityGroupIds", + "Subnets" ], "type": "object" }, - "AWS::SQS::QueuePolicy": { + "AWS::SageMaker::NotebookInstance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71050,212 +90210,89 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object" - }, - "Queues": { + "AcceleratorTypes": { "items": { "type": "string" }, "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Queues" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::QueuePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" }, - { + "AdditionalCodeRepositories": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" }, - "AssociationName": { + "DefaultCodeRepository": { "type": "string" }, - "AutomationTargetParameterName": { + "DirectInternetAccess": { "type": "string" }, - "ComplianceSeverity": { + "InstanceType": { "type": "string" }, - "DocumentVersion": { + "KmsKeyId": { "type": "string" }, - "InstanceId": { + "LifecycleConfigName": { "type": "string" }, - "MaxConcurrency": { + "NotebookInstanceName": { "type": "string" }, - "MaxErrors": { + "RoleArn": { "type": "string" }, - "Name": { + "RootAccess": { "type": "string" }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } + "SecurityGroupIds": { + "items": { + "type": "string" }, - "type": "object" - }, - "ScheduleExpression": { - "type": "string" + "type": "array" }, - "SyncCompliance": { + "SubnetId": { "type": "string" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Association" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" - } - }, - "type": "object" - }, - "AWS::SSM::Association.ParameterValues": { - "additionalProperties": false, - "properties": { - "ParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::Association.S3OutputLocation": { - "additionalProperties": false, - "properties": { - "OutputS3BucketName": { - "type": "string" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" }, - "OutputS3KeyPrefix": { + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], "type": "string" }, - "OutputS3Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::Association.Target": { - "additionalProperties": false, - "properties": { - "Key": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "Key", - "Values" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSM::Document": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71287,30 +90324,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "object" - }, - "DocumentType": { + "NotebookInstanceLifecycleConfigName": { "type": "string" }, - "Name": { - "type": "string" + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" }, - "Tags": { + "OnStart": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" }, "type": "array" } }, - "required": [ - "Content" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Document" + "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "type": "string" }, @@ -71324,12 +90358,20 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::MaintenanceWindow": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71361,34 +90403,19 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Duration": { - "type": "number" - }, - "EndDate": { - "type": "string" + "PipelineDefinition": { + "type": "object" }, - "Name": { + "PipelineDescription": { "type": "string" }, - "Schedule": { + "PipelineDisplayName": { "type": "string" }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleTimezone": { + "PipelineName": { "type": "string" }, - "StartDate": { + "RoleArn": { "type": "string" }, "Tags": { @@ -71399,17 +90426,15 @@ } }, "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" + "PipelineDefinition", + "PipelineName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::SageMaker::Pipeline" ], "type": "string" }, @@ -71428,7 +90453,7 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget": { + "AWS::SageMaker::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71460,38 +90485,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { + "ProjectDescription": { "type": "string" }, - "OwnerInformation": { + "ProjectName": { "type": "string" }, - "ResourceType": { - "type": "string" + "ServiceCatalogProvisioningDetails": { + "type": "object" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "WindowId": { - "type": "string" } }, "required": [ - "ResourceType", - "Targets", - "WindowId" + "ProjectName", + "ServiceCatalogProvisioningDetails" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::SageMaker::Project" ], "type": "string" }, @@ -71510,25 +90528,7 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { + "AWS::SageMaker::UserProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71560,63 +90560,37 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { + "DomainId": { "type": "string" }, - "Name": { + "SingleSignOnUserIdentifier": { "type": "string" }, - "Priority": { - "type": "number" - }, - "ServiceRoleArn": { + "SingleSignOnUserValue": { "type": "string" }, - "Targets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { + "UserProfileName": { "type": "string" }, - "WindowId": { - "type": "string" + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" } }, "required": [ - "MaxConcurrency", - "MaxErrors", - "Priority", - "Targets", - "TaskArn", - "TaskType", - "WindowId" + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::SageMaker::UserProfile" ], "type": "string" }, @@ -71635,242 +90609,104 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { - "Region": { + "AppImageConfigName": { "type": "string" }, - "S3Bucket": { + "ImageName": { "type": "string" }, - "S3Prefix": { - "type": "string" + "ImageVersionNumber": { + "type": "number" } }, "required": [ - "Region", - "S3Bucket" + "AppImageConfigName", + "ImageName" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "type": "object" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { "additionalProperties": false, "properties": { - "ClientContext": { - "type": "string" - }, - "Payload": { - "type": "string" + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" }, - "Qualifier": { - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "AWS::SageMaker::UserProfile.ResourceSpec": { "additionalProperties": false, "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" - }, - "DocumentHashType": { - "type": "string" - }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" - }, - "OutputS3BucketName": { + "InstanceType": { "type": "string" }, - "OutputS3KeyPrefix": { + "SageMakerImageArn": { "type": "string" }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { + "SageMakerImageVersionArn": { "type": "string" - }, - "TimeoutSeconds": { - "type": "number" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "AWS::SageMaker::UserProfile.SharingSettings": { "additionalProperties": false, "properties": { - "Input": { + "NotebookOutputOption": { "type": "string" }, - "Name": { + "S3KmsKeyId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { - "additionalProperties": false, - "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" }, - "NotificationType": { + "S3OutputPath": { "type": "string" } }, - "required": [ - "NotificationArn" - ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.Target": { + "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { - "Key": { + "ExecutionRole": { "type": "string" }, - "Values": { + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { "items": { "type": "string" }, "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" - }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" - } - }, - "type": "object" - }, - "AWS::SSM::Parameter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSM::PatchBaseline": { + "AWS::SageMaker::Workteam": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -71902,69 +90738,33 @@ "Properties": { "additionalProperties": false, "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, "Description": { "type": "string" }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - }, - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { + "MemberDefinitions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" }, "type": "array" }, - "RejectedPatchesAction": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "WorkteamName": { + "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::SageMaker::Workteam" ], "type": "string" }, @@ -71978,95 +90778,55 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilter": { + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { "additionalProperties": false, "properties": { - "Key": { + "CognitoClientId": { "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { - "additionalProperties": false, - "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchSource": { - "additionalProperties": false, - "properties": { - "Configuration": { + "CognitoUserGroup": { "type": "string" }, - "Name": { + "CognitoUserPool": { "type": "string" - }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" } }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchStringDate": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SSM::PatchBaseline.Rule": { + "AWS::SageMaker::Workteam.MemberDefinition": { "additionalProperties": false, "properties": { - "ApproveAfterDays": { - "type": "number" - }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" - }, - "ComplianceLevel": { - "type": "string" - }, - "EnableNonSecurity": { - "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" } }, + "required": [ + "CognitoMemberDefinition" + ], "type": "object" }, - "AWS::SSM::PatchBaseline.RuleGroup": { + "AWS::SageMaker::Workteam.NotificationConfiguration": { "additionalProperties": false, "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "type": "array" + "NotificationTopicArn": { + "type": "string" } }, + "required": [ + "NotificationTopicArn" + ], "type": "object" }, - "AWS::SSM::ResourceDataSync": { + "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72098,42 +90858,25 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" + "BlockPublicPolicy": { + "type": "boolean" }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + "ResourcePolicy": { + "type": "object" }, - "SyncType": { + "SecretId": { "type": "string" } }, "required": [ - "SyncName" + "ResourcePolicy", + "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ResourceDataSync" + "AWS::SecretsManager::ResourcePolicy" ], "type": "string" }, @@ -72152,76 +90895,7 @@ ], "type": "object" }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { - "additionalProperties": false, - "properties": { - "OrganizationSourceType": { - "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OrganizationSourceType" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "SyncFormat": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.SyncSource": { - "additionalProperties": false, - "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SourceRegions", - "SourceType" - ], - "type": "object" - }, - "AWS::SSO::Assignment": { + "AWS::SecretsManager::RotationSchedule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72253,38 +90927,27 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceArn": { - "type": "string" - }, - "PermissionSetArn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" }, - "PrincipalType": { + "RotationLambdaARN": { "type": "string" }, - "TargetId": { - "type": "string" + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" }, - "TargetType": { + "SecretId": { "type": "string" } }, "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" + "SecretId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Assignment" + "AWS::SecretsManager::RotationSchedule" ], "type": "string" }, @@ -72303,7 +90966,46 @@ ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72338,25 +91040,22 @@ "Description": { "type": "string" }, - "InlinePolicy": { + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { "type": "string" }, - "InstanceArn": { + "Name": { "type": "string" }, - "ManagedPolicies": { + "ReplicaRegions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" }, "type": "array" }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { + "SecretString": { "type": "string" }, "Tags": { @@ -72366,15 +91065,11 @@ "type": "array" } }, - "required": [ - "InstanceArn", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::PermissionSet" + "AWS::SecretsManager::Secret" ], "type": "string" }, @@ -72388,12 +91083,62 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::CodeRepository": { + "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::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72425,21 +91170,26 @@ "Properties": { "additionalProperties": false, "properties": { - "CodeRepositoryName": { + "SecretId": { "type": "string" }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" } }, "required": [ - "GitConfig" + "SecretId", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::SecretsManager::SecretTargetAttachment" ], "type": "string" }, @@ -72458,25 +91208,7 @@ ], "type": "object" }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint": { + "AWS::SecurityHub::Hub": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72508,36 +91240,15 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointConfigName": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "type": "object" } }, - "required": [ - "EndpointConfigName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -72551,21 +91262,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { + "AWS::Serverless::Api": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72597,36 +91298,90 @@ "Properties": { "additionalProperties": false, "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" }, - "EndpointConfigName": { + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Api.Auth" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { "type": "string" }, - "KmsKeyId": { + "Cors": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + } + ] + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + } + ] + }, + "EndpointConfiguration": { "type": "string" }, - "ProductionVariants": { + "MethodSettings": { "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + "type": "object" }, "type": "array" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "Name": { + "type": "string" + }, + "OpenApiVersion": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" } }, "required": [ - "ProductionVariants" + "StageName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::Serverless::Api" ], "type": "string" }, @@ -72645,100 +91400,75 @@ ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "AWS::Serverless::Api.AccessLogSetting": { "additionalProperties": false, "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "DestinationArn": { + "type": "string" }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "Format": { + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { + "AWS::Serverless::Api.Auth": { "additionalProperties": false, "properties": { - "CaptureMode": { + "Authorizers": { + "type": "object" + }, + "DefaultAuthorizer": { "type": "string" } }, - "required": [ - "CaptureMode" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "AWS::Serverless::Api.CorsConfiguration": { "additionalProperties": false, "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" - }, - "type": "array" + "AllowCredentials": { + "type": "boolean" }, - "DestinationS3Uri": { + "AllowHeaders": { "type": "string" }, - "EnableCapture": { - "type": "boolean" + "AllowMethods": { + "type": "string" }, - "InitialSamplingPercentage": { - "type": "number" + "AllowOrigin": { + "type": "string" }, - "KmsKeyId": { + "MaxAge": { "type": "string" } }, "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" + "AllowOrigin" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "AWS::Serverless::Api.S3Location": { "additionalProperties": false, "properties": { - "AcceleratorType": { - "type": "string" - }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { + "Bucket": { "type": "string" }, - "ModelName": { + "Key": { "type": "string" }, - "VariantName": { - "type": "string" + "Version": { + "type": "number" } }, "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" + "Bucket", + "Key", + "Version" ], "type": "object" }, - "AWS::SageMaker::Model": { + "AWS::Serverless::Application": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72770,42 +91500,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Containers": { + "Location": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" + } + ] + }, + "NotificationArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "type": "string" }, "type": "array" }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + "TimeoutInMinutes": { + "type": "number" } }, "required": [ - "ExecutionRoleArn" + "Location" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Model" + "AWS::Serverless::Application" ], "type": "string" }, @@ -72824,68 +91566,23 @@ ], "type": "object" }, - "AWS::SageMaker::Model.ContainerDefinition": { + "AWS::Serverless::Application.ApplicationLocation": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { - "type": "string" - }, - "ModelDataUrl": { + "ApplicationId": { "type": "string" }, - "ModelPackageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.ImageConfig": { - "additionalProperties": false, - "properties": { - "RepositoryAccessMode": { + "SemanticVersion": { "type": "string" } }, "required": [ - "RepositoryAccessMode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" + "ApplicationId", + "SemanticVersion" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule": { + "AWS::Serverless::Function": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72917,49 +91614,140 @@ "Properties": { "additionalProperties": false, "properties": { - "CreationTime": { + "AutoPublishAlias": { "type": "string" }, - "EndpointName": { + "CodeUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Location" + } + ] + }, + "DeadLetterQueue": { + "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" + }, + "DeploymentPreference": { + "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" + }, + "Description": { "type": "string" }, - "FailureReason": { + "Environment": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::Function.EventSource" + } + }, + "type": "object" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { "type": "string" }, - "LastModifiedTime": { + "Handler": { "type": "string" }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" }, - "MonitoringScheduleArn": { + "PermissionsBoundary": { "type": "string" }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" + }, + "type": "array" + } + ] }, - "MonitoringScheduleName": { + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { "type": "string" }, - "MonitoringScheduleStatus": { + "Runtime": { "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "Tracing": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" } }, "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" + "CodeUri", + "Handler", + "Runtime" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::Serverless::Function" ], "type": "string" }, @@ -72978,1084 +91766,774 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "AWS::Serverless::Function.AlexaSkillEvent": { "additionalProperties": false, "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "AWS::Serverless::Function.ApiEvent": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { + "Method": { "type": "string" }, - "VolumeKmsKeyId": { + "Path": { "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "RestApiId": { + "type": "string" } }, "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" + "Method", + "Path" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "AWS::Serverless::Function.BucketSAMPT": { "additionalProperties": false, "properties": { - "S3Uri": { + "BucketName": { "type": "string" } }, + "required": [ + "BucketName" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "AWS::Serverless::Function.CloudWatchEventEvent": { "additionalProperties": false, "properties": { - "EndpointName": { + "Input": { "type": "string" }, - "LocalPath": { + "InputPath": { "type": "string" }, - "S3DataDistributionType": { + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::Function.CloudWatchLogsEvent": { + "additionalProperties": false, + "properties": { + "FilterPattern": { "type": "string" }, - "S3InputMode": { + "LogGroupName": { "type": "string" } }, "required": [ - "EndpointName", - "LocalPath" + "FilterPattern", + "LogGroupName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Environment": { + "AWS::Serverless::Function.CollectionSAMPT": { "additionalProperties": false, - "properties": {}, + "properties": { + "CollectionId": { + "type": "string" + } + }, + "required": [ + "CollectionId" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "AWS::Serverless::Function.DeadLetterQueue": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" + "TargetArn": { + "type": "string" }, - "ContainerEntrypoint": { + "Type": { + "type": "string" + } + }, + "required": [ + "TargetArn", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { "items": { "type": "string" }, "type": "array" }, - "ImageUri": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "PostAnalyticsProcessorSourceUri": { + "Hooks": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Role": { "type": "string" }, - "RecordPreprocessorSourceUri": { + "Type": { "type": "string" } }, + "type": "object" + }, + "AWS::Serverless::Function.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Serverless::Function.OnFailure" + } + }, "required": [ - "ImageUri" + "OnFailure" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "AWS::Serverless::Function.DomainSAMPT": { "additionalProperties": false, "properties": { - "CreationTime": { + "DomainName": { "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::Function.DynamoDBEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" }, - "EndpointName": { - "type": "string" + "BisectBatchOnFunctionError": { + "type": "boolean" }, - "FailureReason": { - "type": "string" + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" }, - "LastModifiedTime": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "MonitoringExecutionStatus": { - "type": "string" + "MaximumBatchingWindowInSeconds": { + "type": "number" }, - "MonitoringScheduleName": { - "type": "string" + "MaximumRecordAgeInSeconds": { + "type": "number" }, - "ProcessingJobArn": { + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "StartingPosition": { "type": "string" }, - "ScheduledTime": { + "Stream": { "type": "string" } }, "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" + "StartingPosition", + "Stream" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "AWS::Serverless::Function.EmptySAMPT": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Serverless::Function.EventBridgeRuleEvent": { "additionalProperties": false, "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" } }, "required": [ - "EndpointInput" + "Pattern" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInputs": { + "AWS::Serverless::Function.EventSource": { "additionalProperties": false, "properties": { - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Event" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" + } + ] + }, + "Type": { + "type": "string" } }, + "required": [ + "Properties", + "Type" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "AWS::Serverless::Function.FileSystemConfig": { "additionalProperties": false, "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInputs" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" - }, - "RoleArn": { + "Arn": { "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + "LocalMountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.FunctionEnvironment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" + "Variables" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "AWS::Serverless::Function.FunctionSAMPT": { "additionalProperties": false, "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + "FunctionName": { + "type": "string" } }, "required": [ - "S3Output" + "FunctionName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "AWS::Serverless::Function.IAMPolicyDocument": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" + "Statement": { + "type": "object" } }, "required": [ - "MonitoringOutputs" + "Statement" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "AWS::Serverless::Function.IdentitySAMPT": { "additionalProperties": false, "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + "IdentityName": { + "type": "string" } }, "required": [ - "ClusterConfig" + "IdentityName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "AWS::Serverless::Function.IoTRuleEvent": { "additionalProperties": false, "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + "AwsIotSqlVersion": { + "type": "string" }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + "Sql": { + "type": "string" } }, "required": [ - "MonitoringJobDefinition" + "Sql" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "AWS::Serverless::Function.KeySAMPT": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + "KeyId": { + "type": "string" } }, + "required": [ + "KeyId" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { + "AWS::Serverless::Function.KinesisEvent": { "additionalProperties": false, "properties": { - "LocalPath": { - "type": "string" + "BatchSize": { + "type": "number" }, - "S3UploadMode": { + "Enabled": { + "type": "boolean" + }, + "StartingPosition": { "type": "string" }, - "S3Uri": { + "Stream": { "type": "string" } }, "required": [ - "LocalPath", - "S3Uri" + "StartingPosition", + "Stream" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "AWS::Serverless::Function.LogGroupSAMPT": { "additionalProperties": false, "properties": { - "ScheduleExpression": { + "LogGroupName": { "type": "string" } }, "required": [ - "ScheduleExpression" + "LogGroupName" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "AWS::Serverless::Function.OnFailure": { "additionalProperties": false, "properties": { - "S3Uri": { + "Destination": { + "type": "string" + }, + "Type": { "type": "string" } }, + "required": [ + "Destination" + ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { "additionalProperties": false, "properties": { - "MaxRuntimeInSeconds": { + "ProvisionedConcurrentExecutions": { "type": "number" } }, "required": [ - "MaxRuntimeInSeconds" + "ProvisionedConcurrentExecutions" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "AWS::Serverless::Function.QueueSAMPT": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "QueueName": { + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "QueueName" ], "type": "object" }, - "AWS::SageMaker::NotebookInstance": { + "AWS::Serverless::Function.S3Event": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Bucket": { "type": "string" }, - "DependsOn": { + "Events": { "anyOf": [ { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "type": [ + "string" + ] }, { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } ] }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Filter": { + "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" } }, "required": [ - "Type", - "Properties" + "Bucket", + "Events" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "AWS::Serverless::Function.S3KeyFilter": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - } + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "type": "array" } }, "required": [ - "Type" + "Rules" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam": { + "AWS::Serverless::Function.S3KeyFilterRule": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], + "Name": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type" + "Name", + "Value" ], "type": "object" }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "AWS::Serverless::Function.S3Location": { "additionalProperties": false, "properties": { - "CognitoClientId": { + "Bucket": { "type": "string" }, - "CognitoUserGroup": { + "Key": { "type": "string" }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + "Version": { + "type": "number" } }, "required": [ - "CognitoMemberDefinition" + "Bucket", + "Key" ], "type": "object" }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { + "AWS::Serverless::Function.S3NotificationFilter": { "additionalProperties": false, "properties": { - "NotificationTopicArn": { - "type": "string" + "S3Key": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" } }, "required": [ - "NotificationTopicArn" + "S3Key" ], "type": "object" }, - "AWS::SecretsManager::ResourcePolicy": { + "AWS::Serverless::Function.SAMPolicyTemplate": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AMIDescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CloudFormationDescribeStacksPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" }, - "Metadata": { - "type": "object" + "CloudWatchPutMetricPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourcePolicy": { - "type": "object" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "ResourcePolicy", - "SecretId" - ], - "type": "object" + "DynamoDBCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" + }, + "EC2DescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "ElasticsearchHttpPostPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" + }, + "FilterLogEventsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" + }, + "KMSDecryptPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" + }, + "KinesisCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "KinesisStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" + }, + "RekognitionDetectOnlyPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionLabelsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionNoDataAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionWriteOnlyAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "S3CrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "S3ReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "SESBulkTemplatedCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESEmailTemplateCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "SESSendBouncePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SNSCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SNSPublishMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SQSPollerPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" }, - "Type": { - "enum": [ - "AWS::SecretsManager::ResourcePolicy" - ], - "type": "string" + "SQSSendMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" + }, + "VPCAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.SNSEvent": { + "additionalProperties": false, + "properties": { + "Topic": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Topic" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule": { + "AWS::Serverless::Function.SQSEvent": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" + "BatchSize": { + "type": "number" }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], - "type": "string" + "Enabled": { + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Queue": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Queue" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "AWS::Serverless::Function.ScheduleEvent": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "VpcSecurityGroupIds": { + "Input": { "type": "string" }, - "VpcSubnetIds": { + "Schedule": { "type": "string" } }, "required": [ - "RotationType" + "Schedule" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { + "AWS::Serverless::Function.StateMachineSAMPT": { "additionalProperties": false, "properties": { - "AutomaticallyAfterDays": { - "type": "number" + "StateMachineName": { + "type": "string" } }, + "required": [ + "StateMachineName" + ], "type": "object" }, - "AWS::SecretsManager::Secret": { + "AWS::Serverless::Function.StreamSAMPT": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "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" - ], + "StreamName": { "type": "string" } }, "required": [ - "Type" + "StreamName" ], "type": "object" }, - "AWS::SecretsManager::Secret.GenerateSecretString": { + "AWS::Serverless::Function.TableSAMPT": { "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": { + "TableName": { "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, - "AWS::SecretsManager::SecretTargetAttachment": { + "AWS::Serverless::Function.TableStreamSAMPT": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], + "StreamName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TableName": { "type": "string" } }, "required": [ - "Type", - "Properties" + "StreamName", + "TableName" ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::Serverless::Function.TopicSAMPT": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TopicName": { "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } + } + }, + "required": [ + "TopicName" + ], + "type": "object" + }, + "AWS::Serverless::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type" + "SecurityGroupIds", + "SubnetIds" ], "type": "object" }, - "AWS::Serverless::Api": { + "AWS::Serverless::HttpApi": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74087,25 +92565,13 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" + "AccessLogSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSettings" }, "Auth": { - "$ref": "#/definitions/AWS::Serverless::Api.Auth" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" + "$ref": "#/definitions/AWS::Serverless::HttpApi.Auth" }, - "Cors": { + "CorsConfiguration": { "anyOf": [ { "type": [ @@ -74113,10 +92579,13 @@ ] }, { - "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + "$ref": "#/definitions/AWS::Serverless::HttpApi.Cors" } ] }, + "DefaultRouteSettings": { + "type": "object" + }, "DefinitionBody": { "type": "object" }, @@ -74128,32 +92597,26 @@ ] }, { - "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDefinition" } ] }, - "EndpointConfiguration": { - "type": "string" - }, - "MethodSettings": { - "items": { - "type": "object" - }, - "type": "array" + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.DomainConfiguration" }, - "Name": { - "type": "string" + "FailOnWarnings": { + "type": "boolean" }, - "OpenApiVersion": { - "type": "string" + "RouteSettings": { + "type": "object" }, "StageName": { "type": "string" }, - "TracingEnabled": { - "type": "boolean" + "StageVariables": { + "type": "object" }, - "Variables": { + "Tags": { "additionalProperties": true, "patternProperties": { "^[a-zA-Z0-9]+$": { @@ -74163,14 +92626,11 @@ "type": "object" } }, - "required": [ - "StageName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::Api" + "AWS::Serverless::HttpApi" ], "type": "string" }, @@ -74184,12 +92644,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Serverless::Api.AccessLogSetting": { + "AWS::Serverless::HttpApi.AccessLogSettings": { "additionalProperties": false, "properties": { "DestinationArn": { @@ -74201,11 +92660,11 @@ }, "type": "object" }, - "AWS::Serverless::Api.Auth": { + "AWS::Serverless::HttpApi.Auth": { "additionalProperties": false, "properties": { "Authorizers": { - "type": "object" + "$ref": "#/definitions/AWS::Serverless::HttpApi.OAuth2Authorizer" }, "DefaultAuthorizer": { "type": "string" @@ -74213,51 +92672,131 @@ }, "type": "object" }, - "AWS::Serverless::Api.CorsConfiguration": { + "AWS::Serverless::HttpApi.Cors": { "additionalProperties": false, "properties": { "AllowCredentials": { "type": "boolean" }, "AllowHeaders": { - "type": "string" + "items": { + "type": "string" + }, + "type": "array" }, "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.DomainConfiguration": { + "additionalProperties": false, + "properties": { + "BasePath": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateArn": { "type": "string" }, - "AllowOrigin": { + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "type": "string" + }, + "Route53": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" + } + }, + "required": [ + "CertificateArn", + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiDefinition": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { "type": "string" }, - "MaxAge": { + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.OAuth2Authorizer": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentitySource": { "type": "string" + }, + "JwtConfiguration": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "AllowOrigin" - ], "type": "object" }, - "AWS::Serverless::Api.S3Location": { + "AWS::Serverless::HttpApi.Route53Configuration": { "additionalProperties": false, "properties": { - "Bucket": { + "DistributionDomainName": { "type": "string" }, - "Key": { + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { "type": "string" }, - "Version": { - "type": "number" + "HostedZoneName": { + "type": "string" + }, + "IpV6": { + "type": "boolean" } }, - "required": [ - "Bucket", - "Key", - "Version" - ], "type": "object" }, - "AWS::Serverless::Application": { + "AWS::Serverless::LayerVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74289,54 +92828,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Location": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" - } - ] - }, - "NotificationArns": { + "CompatibleRuntimes": { "items": { "type": "string" }, "type": "array" }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "ContentUri": { + "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Description": { + "type": "string" }, - "TimeoutInMinutes": { - "type": "number" + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + }, + "RetentionPolicy": { + "type": "string" } }, - "required": [ - "Location" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::Application" + "AWS::Serverless::LayerVersion" ], "type": "string" }, @@ -74350,28 +92868,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Application.ApplicationLocation": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "SemanticVersion": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "SemanticVersion" + "Type" ], "type": "object" }, - "AWS::Serverless::Function": { + "AWS::Serverless::SimpleTable": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -74403,109 +92904,16 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoPublishAlias": { - "type": "string" - }, - "CodeUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Location" - } - ] - }, - "DeadLetterQueue": { - "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" - }, - "DeploymentPreference": { - "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::Function.EventSource" - } - }, - "type": "object" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + "PrimaryKey": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" }, - "ReservedConcurrentExecutions": { - "type": "number" + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" }, - "Role": { - "type": "string" + "SSESpecification": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" }, - "Runtime": { + "TableName": { "type": "string" }, "Tags": { @@ -74516,27 +92924,13 @@ } }, "type": "object" - }, - "Timeout": { - "type": "number" - }, - "Tracing": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" } }, - "required": [ - "CodeUri", - "Handler", - "Runtime" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::Function" + "AWS::Serverless::SimpleTable" ], "type": "string" }, @@ -74550,107 +92944,14 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Function.AlexaSkillEvent": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.ApiEvent": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::Function.BucketSAMPT": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchLogsEvent": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - } - }, - "required": [ - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CollectionSAMPT": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "type": "string" - } - }, - "required": [ - "CollectionId" + "Type" ], "type": "object" }, - "AWS::Serverless::Function.DeadLetterQueue": { + "AWS::Serverless::SimpleTable.PrimaryKey": { "additionalProperties": false, "properties": { - "TargetArn": { + "Name": { "type": "string" }, "Type": { @@ -74658,413 +92959,335 @@ } }, "required": [ - "TargetArn", "Type" ], "type": "object" }, - "AWS::Serverless::Function.DeploymentPreference": { + "AWS::Serverless::SimpleTable.ProvisionedThroughput": { "additionalProperties": false, "properties": { - "Alarms": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Hooks": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Role": { - "type": "string" + "ReadCapacityUnits": { + "type": "number" }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Serverless::Function.OnFailure" - } - }, - "required": [ - "OnFailure" - ], - "type": "object" - }, - "AWS::Serverless::Function.DomainSAMPT": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" + "WriteCapacityUnits": { + "type": "number" } }, "required": [ - "DomainName" + "WriteCapacityUnits" ], "type": "object" }, - "AWS::Serverless::Function.DynamoDBEvent": { + "AWS::Serverless::SimpleTable.SSESpecification": { "additionalProperties": false, "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" - }, - "Enabled": { + "SSEEnabled": { "type": "boolean" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "StartingPosition": { - "type": "string" - }, - "Stream": { - "type": "string" } }, - "required": [ - "StartingPosition", - "Stream" - ], "type": "object" }, - "AWS::Serverless::Function.EmptySAMPT": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Serverless::Function.EventBridgeRuleEvent": { + "AWS::Serverless::StateMachine": { "additionalProperties": false, "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { + "DependsOn": { "anyOf": [ { - "$ref": "#/definitions/AWS::Serverless::Function.S3Event" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, { - "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" + } + ] }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" + } + }, + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" + "Logging": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" + "Name": { + "type": "string" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" + }, + "type": "array" + } + ] }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" + "Role": { + "type": "string" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - { - "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" + "Type": { + "type": "string" } - ] + }, + "type": "object" }, "Type": { + "enum": [ + "AWS::Serverless::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Properties", "Type" ], "type": "object" }, - "AWS::Serverless::Function.FileSystemConfig": { + "AWS::Serverless::StateMachine.ApiEvent": { "additionalProperties": false, "properties": { - "Arn": { + "Method": { "type": "string" }, - "LocalMountPath": { + "Path": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.FunctionEnvironment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Variables" - ], - "type": "object" - }, - "AWS::Serverless::Function.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { + }, + "RestApiId": { "type": "string" } }, "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::Function.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { - "type": "object" - } - }, - "required": [ - "Statement" + "Method", + "Path" ], "type": "object" }, - "AWS::Serverless::Function.IdentitySAMPT": { + "AWS::Serverless::StateMachine.CloudWatchEventEvent": { "additionalProperties": false, "properties": { - "IdentityName": { + "EventBusName": { "type": "string" - } - }, - "required": [ - "IdentityName" - ], - "type": "object" - }, - "AWS::Serverless::Function.IoTRuleEvent": { - "additionalProperties": false, - "properties": { - "AwsIotSqlVersion": { + }, + "Input": { "type": "string" }, - "Sql": { + "InputPath": { "type": "string" + }, + "Pattern": { + "type": "object" } }, "required": [ - "Sql" + "Pattern" ], "type": "object" }, - "AWS::Serverless::Function.KeySAMPT": { + "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { "additionalProperties": false, "properties": { - "KeyId": { + "LogGroupArn": { "type": "string" } }, "required": [ - "KeyId" + "LogGroupArn" ], "type": "object" }, - "AWS::Serverless::Function.KinesisEvent": { + "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { "additionalProperties": false, "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "StartingPosition": { + "EventBusName": { "type": "string" }, - "Stream": { + "Input": { "type": "string" - } - }, - "required": [ - "StartingPosition", - "Stream" - ], - "type": "object" - }, - "AWS::Serverless::Function.LogGroupSAMPT": { - "additionalProperties": false, - "properties": { - "LogGroupName": { + }, + "InputPath": { "type": "string" + }, + "Pattern": { + "type": "object" } }, "required": [ - "LogGroupName" + "Pattern" ], "type": "object" }, - "AWS::Serverless::Function.OnFailure": { + "AWS::Serverless::StateMachine.EventSource": { "additionalProperties": false, "properties": { - "Destination": { - "type": "string" + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + } + ] }, "Type": { "type": "string" } }, "required": [ - "Destination" + "Properties", + "Type" ], "type": "object" }, - "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { + "AWS::Serverless::StateMachine.FunctionSAMPT": { "additionalProperties": false, "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" + "FunctionName": { + "type": "string" } }, "required": [ - "ProvisionedConcurrentExecutions" + "FunctionName" ], "type": "object" }, - "AWS::Serverless::Function.QueueSAMPT": { + "AWS::Serverless::StateMachine.IAMPolicyDocument": { "additionalProperties": false, "properties": { - "QueueName": { - "type": "string" + "Statement": { + "type": "object" } }, "required": [ - "QueueName" + "Statement" ], "type": "object" }, - "AWS::Serverless::Function.S3Event": { + "AWS::Serverless::StateMachine.LogDestination": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "Events": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - }, - "Filter": { - "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" } }, "required": [ - "Bucket", - "Events" + "CloudWatchLogsLogGroup" ], "type": "object" }, - "AWS::Serverless::Function.S3KeyFilter": { + "AWS::Serverless::StateMachine.LoggingConfiguration": { "additionalProperties": false, "properties": { - "Rules": { + "Destinations": { "items": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" + "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" }, "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3KeyFilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" }, - "Value": { + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { "type": "string" } }, "required": [ - "Name", - "Value" + "Destinations", + "IncludeExecutionData", + "Level" ], "type": "object" }, - "AWS::Serverless::Function.S3Location": { + "AWS::Serverless::StateMachine.S3Location": { "additionalProperties": false, "properties": { "Bucket": { @@ -75083,145 +93306,19 @@ ], "type": "object" }, - "AWS::Serverless::Function.S3NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::Serverless::Function.SAMPolicyTemplate": { + "AWS::Serverless::StateMachine.SAMPolicyTemplate": { "additionalProperties": false, "properties": { - "AMIDescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudFormationDescribeStacksPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudWatchPutMetricPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "DynamoDBCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" - }, - "EC2DescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "ElasticsearchHttpPostPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" - }, - "FilterLogEventsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" - }, - "KMSDecryptPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" - }, - "KinesisCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, - "KinesisStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" - }, - "RekognitionDetectOnlyPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionLabelsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionNoDataAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionWriteOnlyAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "S3CrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "S3ReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "SESBulkTemplatedCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESEmailTemplateCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "SESSendBouncePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SNSCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SNSPublishMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SQSPollerPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" - }, - "SQSSendMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" + "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" }, "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" - }, - "VPCAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.SNSEvent": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - } - }, - "required": [ - "Topic" - ], - "type": "object" - }, - "AWS::Serverless::Function.SQSEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "Queue": { - "type": "string" + "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" } }, - "required": [ - "Queue" - ], "type": "object" }, - "AWS::Serverless::Function.ScheduleEvent": { + "AWS::Serverless::StateMachine.ScheduleEvent": { "additionalProperties": false, "properties": { "Input": { @@ -75236,7 +93333,7 @@ ], "type": "object" }, - "AWS::Serverless::Function.StateMachineSAMPT": { + "AWS::Serverless::StateMachine.StateMachineSAMPT": { "additionalProperties": false, "properties": { "StateMachineName": { @@ -75248,81 +93345,193 @@ ], "type": "object" }, - "AWS::Serverless::Function.StreamSAMPT": { + "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { - "StreamName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "StreamName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TableSAMPT": { - "additionalProperties": false, - "properties": { - "TableName": { + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::Function.TableStreamSAMPT": { + "AWS::ServiceCatalog::CloudFormationProduct": { "additionalProperties": false, "properties": { - "StreamName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], "type": "string" }, - "TableName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StreamName", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::Function.TopicSAMPT": { + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { "additionalProperties": false, "properties": { - "TopicName": { + "Description": { "type": "string" - } - }, - "required": [ - "TopicName" - ], - "type": "object" - }, - "AWS::Serverless::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" } }, "required": [ - "SecurityGroupIds", - "SubnetIds" + "Info" ], "type": "object" }, - "AWS::Serverless::HttpApi": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75354,72 +93563,57 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSettings" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Auth" + "AcceptLanguage": { + "type": "string" }, - "CorsConfiguration": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Cors" - } - ] + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" }, - "DefaultRouteSettings": { - "type": "object" + "PathId": { + "type": "string" }, - "DefinitionBody": { - "type": "object" + "PathName": { + "type": "string" }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDefinition" - } - ] + "ProductId": { + "type": "string" }, - "Domain": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.DomainConfiguration" + "ProductName": { + "type": "string" }, - "FailOnWarnings": { - "type": "boolean" + "ProvisionedProductName": { + "type": "string" }, - "RouteSettings": { - "type": "object" + "ProvisioningArtifactId": { + "type": "string" }, - "StageName": { + "ProvisioningArtifactName": { "type": "string" }, - "StageVariables": { - "type": "object" + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" }, "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::HttpApi" + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "type": "string" }, @@ -75437,155 +93631,135 @@ ], "type": "object" }, - "AWS::Serverless::HttpApi.AccessLogSettings": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { + "Key": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.Auth": { - "additionalProperties": false, - "properties": { - "Authorizers": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.OAuth2Authorizer" }, - "DefaultAuthorizer": { + "Value": { "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::Serverless::HttpApi.Cors": { + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { "additionalProperties": false, "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { + "StackSetAccounts": { "items": { "type": "string" }, "type": "array" }, - "AllowMethods": { - "items": { - "type": "string" - }, - "type": "array" + "StackSetFailureToleranceCount": { + "type": "number" }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "type": "array" + "StackSetFailureTolerancePercentage": { + "type": "number" }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" + "StackSetMaxConcurrencyCount": { + "type": "number" }, - "MaxAge": { + "StackSetMaxConcurrencyPercentage": { "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.DomainConfiguration": { - "additionalProperties": false, - "properties": { - "BasePath": { + }, + "StackSetOperationType": { + "type": "string" + }, + "StackSetRegions": { "items": { "type": "string" }, "type": "array" - }, - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "type": "string" - }, - "Route53": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" } }, - "required": [ - "CertificateArn", - "DomainName" - ], "type": "object" }, - "AWS::Serverless::HttpApi.HttpApiDefinition": { + "AWS::ServiceCatalog::LaunchNotificationConstraint": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "Key": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Version": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.OAuth2Authorizer": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IdentitySource": { - "type": "string" + "Metadata": { + "type": "object" }, - "JwtConfiguration": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { "type": "string" } }, + "required": [ + "NotificationArns", + "PortfolioId", + "ProductId" + ], "type": "object" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.Route53Configuration": { - "additionalProperties": false, - "properties": { - "DistributionDomainName": { - "type": "string" }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchNotificationConstraint" + ], "type": "string" }, - "HostedZoneName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "IpV6": { - "type": "boolean" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Serverless::LayerVersion": { + "AWS::ServiceCatalog::LaunchRoleConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75617,33 +93791,34 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentUri": { + "AcceptLanguage": { "type": "string" }, "Description": { "type": "string" }, - "LayerName": { + "LocalRoleName": { "type": "string" }, - "LicenseInfo": { + "PortfolioId": { "type": "string" }, - "RetentionPolicy": { + "ProductId": { + "type": "string" + }, + "RoleArn": { "type": "string" } }, + "required": [ + "PortfolioId", + "ProductId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::LayerVersion" + "AWS::ServiceCatalog::LaunchRoleConstraint" ], "type": "string" }, @@ -75657,11 +93832,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::SimpleTable": { + "AWS::ServiceCatalog::LaunchTemplateConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75693,33 +93869,32 @@ "Properties": { "additionalProperties": false, "properties": { - "PrimaryKey": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" + "AcceptLanguage": { + "type": "string" }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" + "Description": { + "type": "string" }, - "SSESpecification": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" + "PortfolioId": { + "type": "string" }, - "TableName": { + "ProductId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Rules": { + "type": "string" } }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::SimpleTable" + "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "type": "string" }, @@ -75733,50 +93908,90 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::SimpleTable.PrimaryKey": { + "AWS::ServiceCatalog::Portfolio": { "additionalProperties": false, "properties": { - "Name": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DisplayName", + "ProviderName" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::ServiceCatalog::Portfolio" + ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" }, - "WriteCapacityUnits": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, + "Type", + "Properties" + ], "type": "object" }, - "AWS::Serverless::StateMachine": { + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -75808,96 +94023,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Definition": { - "type": "object" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" - } - ] - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" - } - }, - "type": "object" - }, - "Logging": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" - }, - "Name": { + "AcceptLanguage": { "type": "string" }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "Role": { + "PortfolioId": { "type": "string" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "PrincipalARN": { + "type": "string" }, - "Type": { + "PrincipalType": { "type": "string" } }, + "required": [ + "PortfolioId", + "PrincipalARN", + "PrincipalType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Serverless::StateMachine" + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "type": "string" }, @@ -75911,230 +94059,84 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.ApiEvent": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "required": [ - "LogGroupArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { + "AWS::ServiceCatalog::PortfolioProductAssociation": { "additionalProperties": false, "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { + "DependsOn": { "anyOf": [ { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } ] }, - "Type": { - "type": "string" - } - }, - "required": [ - "Properties", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { + "Metadata": { "type": "object" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" - } - }, - "required": [ - "CloudWatchLogsLogGroup" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "required": [ - "Destinations", - "IncludeExecutionData", - "Level" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.SAMPolicyTemplate": { - "additionalProperties": false, - "properties": { - "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" }, - "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::StateMachine.ScheduleEvent": { - "additionalProperties": false, - "properties": { - "Input": { + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioProductAssociation" + ], "type": "string" }, - "Schedule": { - "type": "string" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.StateMachineSAMPT": { - "additionalProperties": false, - "properties": { - "StateMachineName": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StateMachineName" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "AWS::ServiceCatalog::PortfolioShare": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76169,18 +94171,25 @@ "AcceptLanguage": { "type": "string" }, + "AccountId": { + "type": "string" + }, "PortfolioId": { "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" } }, "required": [ + "AccountId", "PortfolioId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::ServiceCatalog::PortfolioShare" ], "type": "string" }, @@ -76199,7 +94208,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct": { + "AWS::ServiceCatalog::ResourceUpdateConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76237,50 +94246,26 @@ "Description": { "type": "string" }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { + "PortfolioId": { "type": "string" }, - "SupportEmail": { + "ProductId": { "type": "string" }, - "SupportUrl": { + "TagUpdateOnProvisionedProduct": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "type": "string" }, @@ -76299,28 +94284,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "AWS::ServiceCatalog::ServiceAction": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76355,54 +94319,32 @@ "AcceptLanguage": { "type": "string" }, - "NotificationArns": { + "Definition": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" }, "type": "array" }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { + "DefinitionType": { "type": "string" }, - "ProvisioningArtifactId": { + "Description": { "type": "string" }, - "ProvisioningArtifactName": { + "Name": { "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + "AWS::ServiceCatalog::ServiceAction" ], "type": "string" }, @@ -76416,11 +94358,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { "additionalProperties": false, "properties": { "Key": { @@ -76436,40 +94379,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "AWS::ServiceCatalog::ServiceActionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76501,35 +94411,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { + "ProductId": { "type": "string" }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { + "ProvisioningArtifactId": { "type": "string" }, - "ProductId": { + "ServiceActionId": { "type": "string" } }, "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" + "AWS::ServiceCatalog::ServiceActionAssociation" ], "type": "string" }, @@ -76548,7 +94449,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { + "AWS::ServiceCatalog::StackSetConstraint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76583,10 +94484,19 @@ "AcceptLanguage": { "type": "string" }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, "Description": { "type": "string" }, - "LocalRoleName": { + "ExecutionRole": { "type": "string" }, "PortfolioId": { @@ -76595,95 +94505,31 @@ "ProductId": { "type": "string" }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "RegionList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { + "StackInstanceControl": { "type": "string" } }, "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", "PortfolioId", "ProductId", - "Rules" + "RegionList", + "StackInstanceControl" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" + "AWS::ServiceCatalog::StackSetConstraint" ], "type": "string" }, @@ -76702,7 +94548,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::Portfolio": { + "AWS::ServiceCatalog::TagOption": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76734,34 +94580,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" + "Active": { + "type": "boolean" }, - "DisplayName": { + "Key": { "type": "string" }, - "ProviderName": { + "Value": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "DisplayName", - "ProviderName" + "Key", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::Portfolio" + "AWS::ServiceCatalog::TagOption" ], "type": "string" }, @@ -76780,7 +94617,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "AWS::ServiceCatalog::TagOptionAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76812,29 +94649,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { + "ResourceId": { "type": "string" }, - "PrincipalType": { + "TagOptionId": { "type": "string" } }, "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" + "ResourceId", + "TagOptionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + "AWS::ServiceCatalog::TagOptionAssociation" ], "type": "string" }, @@ -76853,7 +94683,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { + "AWS::ServiceCatalogAppRegistry::Application": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76885,28 +94715,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { + "Description": { "type": "string" }, - "ProductId": { + "Name": { "type": "string" }, - "SourcePortfolioId": { - "type": "string" + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "PortfolioId", - "ProductId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" + "AWS::ServiceCatalogAppRegistry::Application" ], "type": "string" }, @@ -76925,7 +94757,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::PortfolioShare": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -76957,25 +94789,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" + "Attributes": { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes" }, - "AccountId": { + "Description": { "type": "string" }, - "PortfolioId": { + "Name": { "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" } }, "required": [ - "AccountId", - "PortfolioId" + "Attributes", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::PortfolioShare" + "AWS::ServiceCatalogAppRegistry::AttributeGroup" ], "type": "string" }, @@ -76994,7 +94835,12 @@ ], "type": "object" }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "AWS::ServiceCatalogAppRegistry::AttributeGroup.Attributes": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77026,32 +94872,22 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { + "Application": { "type": "string" }, - "TagUpdateOnProvisionedProduct": { + "AttributeGroup": { "type": "string" } }, "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" + "Application", + "AttributeGroup" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" ], "type": "string" }, @@ -77070,7 +94906,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::StackSetConstraint": { + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77102,55 +94938,26 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { + "Application": { "type": "string" }, - "ProductId": { + "Resource": { "type": "string" }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { + "ResourceType": { "type": "string" } }, "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" + "Application", + "Resource", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" ], "type": "string" }, @@ -77169,7 +94976,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::TagOption": { + "AWS::ServiceDiscovery::HttpNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77201,25 +95008,27 @@ "Properties": { "additionalProperties": false, "properties": { - "Active": { - "type": "boolean" - }, - "Key": { + "Description": { "type": "string" }, - "Value": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Key", - "Value" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOption" + "AWS::ServiceDiscovery::HttpNamespace" ], "type": "string" }, @@ -77238,7 +95047,7 @@ ], "type": "object" }, - "AWS::ServiceCatalog::TagOptionAssociation": { + "AWS::ServiceDiscovery::Instance": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77270,22 +95079,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceId": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { "type": "string" }, - "TagOptionId": { + "ServiceId": { "type": "string" } }, "required": [ - "ResourceId", - "TagOptionId" + "InstanceAttributes", + "ServiceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" + "AWS::ServiceDiscovery::Instance" ], "type": "string" }, @@ -77304,7 +95116,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::HttpNamespace": { + "AWS::ServiceDiscovery::PrivateDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77347,16 +95159,20 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Vpc": { + "type": "string" } }, "required": [ - "Name" + "Name", + "Vpc" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" + "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "type": "string" }, @@ -77375,7 +95191,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::Instance": { + "AWS::ServiceDiscovery::PublicDnsNamespace": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77407,25 +95223,27 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { + "Description": { "type": "string" }, - "ServiceId": { + "Name": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "InstanceAttributes", - "ServiceId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Instance" + "AWS::ServiceDiscovery::PublicDnsNamespace" ], "type": "string" }, @@ -77444,7 +95262,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "AWS::ServiceDiscovery::Service": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77479,28 +95297,33 @@ "Description": { "type": "string" }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, "Name": { "type": "string" }, + "NamespaceId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Vpc": { - "type": "string" } }, - "required": [ - "Name", - "Vpc" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" + "AWS::ServiceDiscovery::Service" ], "type": "string" }, @@ -77514,12 +95337,75 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77551,27 +95437,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Action": { "type": "string" }, - "Name": { + "Principal": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" } }, "required": [ - "Name" + "Action", + "Principal", + "ProfileName", + "StatementId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" + "AWS::Signer::ProfilePermission" ], "type": "string" }, @@ -77590,7 +95482,7 @@ ], "type": "object" }, - "AWS::ServiceDiscovery::Service": { + "AWS::Signer::SigningProfile": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -77622,23 +95514,11 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { + "PlatformId": { "type": "string" }, - "NamespaceId": { - "type": "string" + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" }, "Tags": { "items": { @@ -77647,11 +95527,14 @@ "type": "array" } }, + "required": [ + "PlatformId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ServiceDiscovery::Service" + "AWS::Signer::SigningProfile" ], "type": "string" }, @@ -77665,69 +95548,18 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ServiceDiscovery::Service.DnsConfig": { + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { "additionalProperties": false, "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, "Type": { "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { + "Value": { "type": "number" } }, @@ -77849,6 +95681,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, "DefinitionS3Location": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" }, @@ -77856,7 +95691,13 @@ "type": "string" }, "DefinitionSubstitutions": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.DefinitionSubstitutions" + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, "LoggingConfiguration": { "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" @@ -77915,7 +95756,7 @@ }, "type": "object" }, - "AWS::StepFunctions::StateMachine.DefinitionSubstitutions": { + "AWS::StepFunctions::StateMachine.Definition": { "additionalProperties": false, "properties": {}, "type": "object" @@ -78114,6 +95955,9 @@ "type": "string" } }, + "required": [ + "Handler" + ], "type": "object" }, "AWS::Synthetics::Canary.RunConfig": { @@ -78122,6 +95966,15 @@ "ActiveTracing": { "type": "boolean" }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "MemoryInMB": { "type": "number" }, @@ -78129,9 +95982,6 @@ "type": "number" } }, - "required": [ - "TimeoutInSeconds" - ], "type": "object" }, "AWS::Synthetics::Canary.Schedule": { @@ -78350,6 +96200,9 @@ "Certificate": { "type": "string" }, + "Domain": { + "type": "string" + }, "EndpointDetails": { "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" }, @@ -78414,7 +96267,7 @@ }, "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::Transfer::Server.SecurityGroupId" + "type": "string" }, "type": "array" }, @@ -78454,11 +96307,6 @@ "properties": {}, "type": "object" }, - "AWS::Transfer::Server.SecurityGroupId": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -78506,6 +96354,9 @@ "Policy": { "type": "string" }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, "Role": { "type": "string" }, @@ -78572,6 +96423,28 @@ ], "type": "object" }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, "AWS::Transfer::User.SshPublicKey": { "additionalProperties": false, "properties": {}, @@ -82559,6 +100432,9 @@ { "$ref": "#/definitions/AWS::Athena::WorkGroup" }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -82622,6 +100498,18 @@ { "$ref": "#/definitions/AWS::CloudFormation::Macro" }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, { "$ref": "#/definitions/AWS::CloudFormation::Stack" }, @@ -82643,9 +100531,15 @@ { "$ref": "#/definitions/AWS::CloudFront::Distribution" }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, { "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, { "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" }, @@ -82670,6 +100564,9 @@ { "$ref": "#/definitions/AWS::CloudWatch::InsightRule" }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, @@ -82784,6 +100681,9 @@ { "$ref": "#/definitions/AWS::Config::RemediationConfiguration" }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, { "$ref": "#/definitions/AWS::DAX::Cluster" }, @@ -82814,15 +100714,60 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, { "$ref": "#/definitions/AWS::Detective::Graph" }, { "$ref": "#/definitions/AWS::Detective::MemberInvitation" }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, { "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" }, @@ -82913,6 +100858,12 @@ { "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, { "$ref": "#/definitions/AWS::EC2::NetworkInterface" }, @@ -82976,6 +100927,21 @@ { "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -83033,6 +100999,15 @@ { "$ref": "#/definitions/AWS::EC2::VolumeAttachment" }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -83063,6 +101038,9 @@ { "$ref": "#/definitions/AWS::EFS::MountTarget" }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, { "$ref": "#/definitions/AWS::EKS::Cluster" }, @@ -83087,9 +101065,21 @@ { "$ref": "#/definitions/AWS::EMR::Step" }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -83105,6 +101095,12 @@ { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, { "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" }, @@ -83150,6 +101146,15 @@ { "$ref": "#/definitions/AWS::EventSchemas::Schema" }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -83228,6 +101233,18 @@ { "$ref": "#/definitions/AWS::Glue::Partition" }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, { "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" }, @@ -83288,6 +101305,9 @@ { "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, @@ -83318,12 +101338,21 @@ { "$ref": "#/definitions/AWS::IAM::ManagedPolicy" }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, { "$ref": "#/definitions/AWS::IAM::Policy" }, { "$ref": "#/definitions/AWS::IAM::Role" }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, { "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" }, @@ -83333,6 +101362,9 @@ { "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, { "$ref": "#/definitions/AWS::IVS::Channel" }, @@ -83345,6 +101377,9 @@ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" }, @@ -83378,12 +101413,27 @@ { "$ref": "#/definitions/AWS::IoT1Click::Project" }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, { "$ref": "#/definitions/AWS::IoT::Authorizer" }, { "$ref": "#/definitions/AWS::IoT::Certificate" }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, { "$ref": "#/definitions/AWS::IoT::Policy" }, @@ -83393,6 +101443,12 @@ { "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -83402,6 +101458,9 @@ { "$ref": "#/definitions/AWS::IoT::TopicRule" }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, { "$ref": "#/definitions/AWS::IoTAnalytics::Channel" }, @@ -83420,18 +101479,45 @@ { "$ref": "#/definitions/AWS::IoTEvents::Input" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Asset" }, { "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, { "$ref": "#/definitions/AWS::KMS::Alias" }, @@ -83489,6 +101575,9 @@ { "$ref": "#/definitions/AWS::Lambda::Alias" }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, { "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" }, @@ -83510,6 +101599,12 @@ { "$ref": "#/definitions/AWS::Lambda::Version" }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, @@ -83525,9 +101620,15 @@ { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, { "$ref": "#/definitions/AWS::MSK::Cluster" }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, { "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" }, @@ -83543,6 +101644,21 @@ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -83594,6 +101710,18 @@ { "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, { "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" }, @@ -83711,6 +101839,18 @@ { "$ref": "#/definitions/AWS::QLDB::Stream" }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, @@ -83744,6 +101884,9 @@ { "$ref": "#/definitions/AWS::RDS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, { "$ref": "#/definitions/AWS::RDS::OptionGroup" }, @@ -83783,18 +101926,27 @@ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, { "$ref": "#/definitions/AWS::Route53::HealthCheck" }, { "$ref": "#/definitions/AWS::Route53::HostedZone" }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, { "$ref": "#/definitions/AWS::Route53::RecordSet" }, { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, { "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" }, @@ -83819,6 +101971,21 @@ { "$ref": "#/definitions/AWS::S3::BucketPolicy" }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, { "$ref": "#/definitions/AWS::SDB::Domain" }, @@ -83882,21 +102049,63 @@ { "$ref": "#/definitions/AWS::SSO::Assignment" }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, { "$ref": "#/definitions/AWS::SageMaker::Endpoint" }, { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, { "$ref": "#/definitions/AWS::SageMaker::Model" }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" }, @@ -83906,6 +102115,15 @@ { "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, { "$ref": "#/definitions/AWS::SageMaker::Workteam" }, @@ -83978,6 +102196,12 @@ { "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" }, @@ -83987,6 +102211,18 @@ { "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, { "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" }, @@ -84002,6 +102238,12 @@ { "$ref": "#/definitions/AWS::ServiceDiscovery::Service" }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, { "$ref": "#/definitions/AWS::StepFunctions::Activity" },